【发布时间】:2020-07-10 17:07:09
【问题描述】:
我正在尝试收集数字,直到达到 EOF,然后将数字转换为英文。
$ ./dtoa
22
twenty two
这是程序的一部分:
int num;
while(scanf("%d", &num) != EOF)
to_string(num);
问题是,当我输入输入时,然后按 CtrlD 表示 EOF 最后一个数字实际上不会被打印出来:
$ ./dtoa
22 33 44(EOF) twenty two
thirty three(EOF)
forty four
我需要按 CtrlD 才能显示最后一个数字。如何修复它以便将完整的输入插入到第一个 EOF 中?
【问题讨论】:
-
再按几次 ^D 。这是终端的一个属性(在一行中按下它意味着刷新输入,而不是关闭流)