"); //-->
问题:
在使用Eclipse IDE for C/C++ Developers 时候,发现调试scanf 等需要输入数据的时候,无法正常 输入,还老报错。最后查到解决方案,和大家一起分享。
1. 创新思路解决方案:使用文件进行读写代替控制台的读写
c语言和c++通用
FILE *fp = fopen("data.txt", "r+");
使用fscanf(fp, "%d", &x)代替scanf("%d",&x)
使用fprintf(fp,"%d", x)代替printf("%d",x)
记得要fclose(fp)
c++专用
fstream fio("data.txt")
使用fio >> x代替cin >> x
使用fio << x代替cout << x
记得要fio.close();
2. 传统思路解决方案:因为eclipse对c/c++的支持比较晚,所以不能100%通用
c语言和c++都适用
在main()函数的第一行写上如下语句
setvbuf(stdout,NULL,_IONBF,0);//亲测 可以使用。
实际例子:
#include "stdio.h" int main(void) { setvbuf(stdout,NULL,_IONBF,0); printf("hello wrold"); int ch; char cStr[10]; while((ch = getchar()) != EOF)//or while((ch = getchar()) !='\n") { putchar(ch); } scanf("%s",cStr); printf("%s",cStr); printf("hello wrold2"); return 0; }
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。