关于c语言下fgets()的问题,vc++6.0

如下函数
char buf[MAXSIZE];
fgets(buf,MAXSIZE,stdin);
fputs(buf,stdout);
............
printf("xxxxxxxxxxxx");
程序运行直接打印xxxxxxx,没有等待输入,而使用eclipse编译的话可以等待输入并打印,求解VC++6.0怎么实现等待输入 敲了回车在往下执行 谢谢
另外如果加getchar(),可以阻塞,但是fgets结束的回车符会被getchar接受 程序执行 还是没有东西写入buf,

尝试在
fgets(buf,MAXSIZE,stdin);
之前加上
fflush(stdin);
刷新缓冲区。

(另,原程序在VC++2012中调试正常)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-09
fgets() 函数有f开头,这个f 代表是 file
所以想从键盘输入,就不应该使用fgets
类似 :
fread fsprintf fwrite 等等.

还是用标准点的.
scanf
和std::cin 这些吧本回答被网友采纳
第2个回答  2012-11-08
#include <iostream>

std::cin>>

std::cout<<

You Know?
第3个回答  2012-11-08
控制台应用程序?加条件判定吧
相似回答