【发布时间】:2015-08-03 23:15:23
【问题描述】:
我听说使用gets() 在C 编程中不好,使用fgets 更安全...所以我使用fgets。但是,我在使用 fgets 时遇到了一个问题:我输入了太多字符,不知何故,它溢出了。
如何去掉多余的输入字符?
char answer[4];
char answer2[4];
fgets(answer,sizeof(answer),stdin);
printf("answer: %s\n",answer);
fgets(answer2,sizeof(answer2),stdin);
printf("answer2: %s\n",answer2);
例如对于第一个fgets,我输入123456,我得到的输出是
answer: 123
answer2: 456
如何从进入下一个 fgets 输入中删除 456?在为第一个 fgets 输入 123456 后,我想要这样的输出:
answer: 123
然后,用户继续为下一个 fgets 输入输入...
【问题讨论】:
标签: c input output overflow fgets