如何将换行按钮更改为空格以完成从输入流中读取?
我需要从输入流中读取一行符号,而不是在读取每个符号后转到新行。 更准确地说,我需要在阅读每个新符号后更改按“Enter”按钮到“Space”。 有没有办法在没有将所有行读取到字符串并在此之后解析字符串的情况下执行此操作? 任何选项都是可以接受的,比如scanf,cin。
如果你可以使用conio.h,那么你可以通过使用getch()函数读取字符数组中的输入来实现。 或者,如果您在visual studio中,则可以使用_getch()函数获得相同的结果。
conio.h定义了名为getch()和getche()的函数,它读取一个字符然后在没有任何回车键的情况下终止。 这些function在执行相同任务时具有特定含义。 我不再使用那些了,所以我不记得了。 如果你想要使用它们,这取决于你…
输入由Space或Enter分隔的输入是等效的。
但是,您需要在空格分隔输入的末尾按Enter键 ,因为这是C / C ++中stdin
的默认值。
如果你的程序是这样的:
#include int main() { int arr[5]; int i; for (i = 0; i < 5; ++i) { scanf("%d",&arr[i]); } }
你输入:
1 2 3 4 5
这类似于:
1 2 3 4 5
但是您需要在结尾处按Enter键以使程序接受整个五个变量的输入。
如果你在谈论从不按Enter键 ,
是不可能的。
当然,直到你从文件中读取输入。