gpt4 book ai didi

c++ - 使用空格键和回车键在 cin 中输入值之间的区别?

转载 作者:行者123 更新时间:2023-11-30 05:42:24 29 4
gpt4 key购买 nike

cin 中使用 SPACEENTER 键输入整数数组的值序列有什么区别?

例如-

如果我必须在数组中输入一系列数字,并且一旦用户在值链中输入 0 就停止接收输入。如果在输入过程中按下键盘上的 ENTER 以分隔每个数字,它会正常工作,而在使用 SPACE 时,它不会停止输入过程。能否以某种方式修改以下代码,使其也适用于 SPACE

#include<iostream>
using namespace std;
int main()
{
int arr[10];
int i=-1;
do{
cin>>arr[++i];
}while(arr[i]!=0);

i=-1;

do{
cout<<"\n"<<arr[++i];
}while(arr[i]!=0);
}

最佳答案

"It works correctly if the enter key is pressed to separate each number during input whereas on using the space bar it doesn't stop the input process."

ENTER 触发使用 cin 从输入终端读取输入流,而 SPACE 则不会。

通常,来自终端的 ENTER 扩展为提示输入加上 '\n''\r' '\n' 字符序列被发送,它被认为是输入的一部分。

"Can the below code be modified in some way, so that it works for the space bar as well?"

不,除非您设法让终端使用 SPACE 键向您的程序发送输入。


最后,如果你输入,对于解析来说并不重要

1 2 3 4 >ENTER

1 2 >ENTER 
3 4 >ENTER

std::istream 将处理接收 ' ''\t''\n'字符(参见 std::isspace() )透明。当按下 ENTER 键时,将这些字符发送到输入仍然由终端触发。

关于c++ - 使用空格键和回车键在 cin 中输入值之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30676874/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com