标签:内容 换行 get 读取 结束 etc nbsp 缓冲 ++
例如:
char *s_gets(char *st, int n)
{
char *ret_val;
int i = 0;
ret_val = fgets(st, n, stdin);
if (ret_val)//当ret_val等于空字符时,ret_val值为0,测试条件为假,循环结束
{
while (st[i]!=‘\n‘&&st[i]!=‘\0‘)
{
i++;
}
if (st[i] == ‘\n‘)
st[i] == ‘\0‘;//将‘\n‘替换为‘\0‘
else
{
while (getchar()!=‘\n‘)//接受空字符,但是并不存储
{
continue;
}
}
}
return ret_val;
}
函数目的是为了读取最大字符数或第一个换行符为止,舍弃了之后多输入的内容进入缓冲区,保证语句与键盘的同步
标签:内容 换行 get 读取 结束 etc nbsp 缓冲 ++
原文地址:https://www.cnblogs.com/mingstatebird/p/12208899.html