使用gdb调试时,当程序需要获取输入,如何输入多行?

例如:这样的循环intc;while((c=getchar())!=EOF){}当调试时,程序会要求输入,如果我要输入多行字符,希望按回车键输入下一行,可是按了回车会被g... 例如:
这样的循环
int c;
while((c = getchar()) != EOF)
{
}

当调试时,程序会要求输入,如果我要输入多行字符,希望按回车键输入下一行,可是按了回车会被gdb认为是输入结束的确认,于是gdb会跳出输入继而执行之后的代码。
那么怎么才能在gdb调试时输入多行呢?
展开
 我来答
帐号已注销
推荐于2016-03-19 · TA获得超过464个赞
知道小有建树答主
回答量:598
采纳率:65%
帮助的人:282万
展开全部

不是很懂你的意思,getchar()不是输入字符吗?用gets可以规避enter的问题,但是好像不太能满足你的需求,我用_getch() 加一点小把戏,稍微有点像,但是有的字符显示不出来,你可以看一下.

用gets就比较完美,就是不知道,你的循环怎么写的,第二个是gets的例子

/*
 * complier: vs2015
 * time: 2015/8/16
 * -  - - from - - -Skip */
#include<stdio.h>
#include<conio.h>
int main(void) {
    char ch;
    while ((ch = _getch()) != EOF) {
        printf("%c",ch);
        if (ch == 13)
        printf("%c",10);
    }
    return 0;
}
//////////////////////////////////////////////////
#include<stdio.h>
int main(void) {
char ch[50];
while (NULL!=gets_s(ch)) {
;
}
return 0;
}
微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式