码迷,mamicode.com
首页 > 其他好文 > 详细

关于s_gets函数的理解

时间:2020-01-18 14:37:54      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:内容   换行   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;
}

 

函数目的是为了读取最大字符数或第一个换行符为止,舍弃了之后多输入的内容进入缓冲区,保证语句与键盘的同步

关于s_gets函数的理解

标签:内容   换行   get   读取   结束   etc   nbsp   缓冲   ++   

原文地址:https://www.cnblogs.com/mingstatebird/p/12208899.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!