做毕业设计遇到的关于fgets()函数的问题
2013-03-29 09:37
405 查看
毕业设计中,遇到了关于fgets函数的问题,代码经过整理大概如下:
int main()
{
char select[100];
char msg[100];
scanf("%s",select);
getchar(); //fflush(stdin);
if(strcmp(select,"YES") == 0)
{
printf("input words:");
fgets(msg,sizeof(msg),stdin);
printf("msg is %s\n",msg);
}
return 0;
}
当代码中没有加getchar()时,程序无法从键盘输入msg,因为缓冲区中有“YES\n";fgets()直接读取了'\n',所以就没法进行标准输入,但是为什么在用fflush清空缓冲区在VC++6.0可以获得msg的值,但是在虚拟机底下用gcc编译还是无法获得msg的值?原来搞了半天是GCC底下不支持fflush()函数,可用setbuf(stdin,NULL)代替。
int main()
{
char select[100];
char msg[100];
scanf("%s",select);
getchar(); //fflush(stdin);
if(strcmp(select,"YES") == 0)
{
printf("input words:");
fgets(msg,sizeof(msg),stdin);
printf("msg is %s\n",msg);
}
return 0;
}
当代码中没有加getchar()时,程序无法从键盘输入msg,因为缓冲区中有“YES\n";fgets()直接读取了'\n',所以就没法进行标准输入,但是为什么在用fflush清空缓冲区在VC++6.0可以获得msg的值,但是在虚拟机底下用gcc编译还是无法获得msg的值?原来搞了半天是GCC底下不支持fflush()函数,可用setbuf(stdin,NULL)代替。
相关文章推荐
- 做毕业设计时遇到的问题变色函数
- 关于JAVA中split()函数遇到的一点问题
- 关于单链表插入函数设计问题/c&c++/code/
- 关于加载设计器遇到一个或多个错误问题的解决方案
- 关于在用curl函数post网页数据时,遇上表单提交 type为submit 类型而且没有name和id时可能遇到的问题及其解决方法
- 关于返回函数一章节中遇到的问题
- 关于AlphaBlend函数使用时遇到的问题
- 关于虚函数重载遇到的怪问题 -- 为什么经常调用了基类的函数
- 刚才遇到了关于C#使用外部DLL函数上的char*的问题。
- 关于使用ant-design设计可动态添加FormItem的过程中遇到的问题记录。
- 遇到一个关于静态成员函数的问题
- php关于使用iconv(...)函数对字符进行中文转换时,遇到的一个问题
- Effective c++(笔记) 之 类与函数的设计声明中常遇到的问题
- 毕业设计-基于JAVAEE的B2B2C网上商城-中遇到的问题
- 关于fgets()函数的一个简单问题
- Windows入门基础:1.关于CreateWindow()函数使用中遇到的问题
- python-关于函数间参数传递问题(注意理解,很容易混淆)
- 关于使用C#画函数图形的问题
- 关于ORACLE通过file_id与block_id定位数据库对象遇到的问题引发的思考
- 今天又学习了,关于windows和Linux双系统删除Linux遇到的问题。