Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何将换行按钮更改为空格以完成输入流的读取?_C++_C - Fatal编程技术网

C++ 如何将换行按钮更改为空格以完成输入流的读取?

C++ 如何将换行按钮更改为空格以完成输入流的读取?,c++,c,C++,C,我需要从输入流中读取一行符号,而无需在读取每个符号后转到新行。更准确地说,在阅读每个新符号后,我需要将按下“回车”按钮改为“空格”。有没有一种方法可以做到这一点,而不必将所有行读入字符串,然后再解析字符串?任何选项都可以接受,如scanf、cin 按空格或Enter分隔的输入是等效的。 但是,您确实需要在空格分隔输入的末尾按Enter键,因为这是C/C++中stdin的默认值 如果您的程序类似于: #include <stdio.h> int main() { int arr

我需要从输入流中读取一行符号,而无需在读取每个符号后转到新行。更准确地说,在阅读每个新符号后,我需要将按下“回车”按钮改为“空格”。有没有一种方法可以做到这一点,而不必将所有行读入字符串,然后再解析字符串?任何选项都可以接受,如scanf、cin

按空格或Enter分隔的输入是等效的。 但是,您确实需要在空格分隔输入的末尾按Enter键,因为这是C/C++中stdin的默认值

如果您的程序类似于:

#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