eclipse调试c语言 scanf在哪输入,eclipse C/C+ CDT中scanf不能debug输入输出的问题

问题:

在使用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;

}

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值