//测量字符串的长度
int GetsStrLength(char[]);
//fgets封装成一个函数,把\n替换成\0
void GetString(char [], int count);
//两个参数。一个是用来接收字符串的字符数组,接收的字符总数
void GetString(char str[], int count )
{
//使用fgets函数接收字符串,使用\0替换字符数组的最后一位\n
//首先定义fgets函数
fgets(str, count, stdin);
//查找\n
char * find = strchr(str, '\n'); //查找换行符。并且得到了一个换行符的指针
if (find) //如果找到了if条件不为空
*find = '\0';
}
int GetsStrLength(char str[])
{
int count = 0; //字符串中的字符长度
while(str[count] != '\0') //不确定长度无法使用for给出条件,这个时候可以用while.是\0的情况下是最后一位
{
count++;
}
return count;
}
int main()
{
char name1[50] = {};
//fgets(name1, 5, stdin);
GetString(name1,20);
int len = GetsStrLength(name1);
printf("字符串的长度是;%d\n",len);
return 0;
}
结果
1234567
字符串的长度是;7
strchr就是返回\n所在的指针,如果找到就把\n的值改成\0
网友评论