C++ 如何将换行按钮更改为空格以完成输入流的读取?
我需要从输入流中读取一行符号,而无需在读取每个符号后转到新行。更准确地说,在阅读每个新符号后,我需要将按下“回车”按钮改为“空格”。有没有一种方法可以做到这一点,而不必将所有行读入字符串,然后再解析字符串?任何选项都可以接受,如scanf、cin 按空格或Enter分隔的输入是等效的。 但是,您确实需要在空格分隔输入的末尾按Enter键,因为这是C/C++中stdin的默认值 如果您的程序类似于:C++ 如何将换行按钮更改为空格以完成输入流的读取?,c++,c,C++,C,我需要从输入流中读取一行符号,而无需在读取每个符号后转到新行。更准确地说,在阅读每个新符号后,我需要将按下“回车”按钮改为“空格”。有没有一种方法可以做到这一点,而不必将所有行读入字符串,然后再解析字符串?任何选项都可以接受,如scanf、cin 按空格或Enter分隔的输入是等效的。 但是,您确实需要在空格分隔输入的末尾按Enter键,因为这是C/C++中stdin的默认值 如果您的程序类似于: #include <stdio.h> int main() { int arr
#include <stdio.h>
int main()
{
int arr[5];
int i;
for (i = 0; i < 5; ++i)
{
scanf("%d",&arr[i]);
}
}
这类似于:
1 2 3 4 5
但您确实需要在最后按Enter键,程序才能接受您对五个变量的输入
如果你说的是永远不要按回车键
这是不可能的。
当然,在从文件中读取输入之前。如果可以使用conio.h,则可以使用getch()函数读取字符数组中的输入。或者,如果您在visual studio中,则可以使用_getch()函数获得相同的结果
h定义了名为getch()和getche()的函数,该函数读取一个字符,然后在没有任何enter键的情况下终止。这两种功能在执行相同任务时都有特定的含义。我不再用这些了,所以我不记得太多了。您是否想使用它们取决于您……因此用户永远不会点击回车按钮?终端驱动程序不会将按键传递给程序(在“烹饪”模式下),直到按下按键。但是,在“原始”模式下,每次击键都会立即传递给程序。程序每次击键都会看到两个字节(上面的字节包含关于移位键等的信息),程序必须处理退格等
1 2 3 4 5