关于c语言下fgets()的问题,vc++6.0
如下函数charbuf[MAXSIZE];fgets(buf,MAXSIZE,stdin);fputs(buf,stdout);............printf("x...
如下函数
char buf[MAXSIZE];
fgets(buf,MAXSIZE,stdin);
fputs(buf,stdout);
............
printf("xxxxxxxxxxxx");
程序运行直接打印xxxxxxx,没有等待输入,而使用eclipse编译的话可以等待输入并打印,求解VC++6.0怎么实现等待输入 敲了回车在往下执行 谢谢
另外如果加getchar(),可以阻塞,但是fgets结束的回车符会被getchar接受 程序执行 还是没有东西写入buf, 展开
char buf[MAXSIZE];
fgets(buf,MAXSIZE,stdin);
fputs(buf,stdout);
............
printf("xxxxxxxxxxxx");
程序运行直接打印xxxxxxx,没有等待输入,而使用eclipse编译的话可以等待输入并打印,求解VC++6.0怎么实现等待输入 敲了回车在往下执行 谢谢
另外如果加getchar(),可以阻塞,但是fgets结束的回车符会被getchar接受 程序执行 还是没有东西写入buf, 展开
4个回答
2012-11-09
展开全部
尝试在
fgets(buf,MAXSIZE,stdin);
之前加上
fflush(stdin);
刷新缓冲区。
(另,原程序在VC++2012中调试正常)
fgets(buf,MAXSIZE,stdin);
之前加上
fflush(stdin);
刷新缓冲区。
(另,原程序在VC++2012中调试正常)
展开全部
fgets() 函数有f开头,这个f 代表是 file
所以想从键盘输入,就不应该使用fgets
类似 :
fread fsprintf fwrite 等等.
还是用标准点的.
scanf
和std::cin 这些吧
所以想从键盘输入,就不应该使用fgets
类似 :
fread fsprintf fwrite 等等.
还是用标准点的.
scanf
和std::cin 这些吧
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
std::cin>>
std::cout<<
You Know?
std::cin>>
std::cout<<
You Know?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
控制台应用程序?加条件判定吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询