Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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
我不知道cin.get和cout是怎么在这里工作的 我在C++注释上通过iOFixes,并将复制的CIN流复制到CUT。我的传统观点是,cout只能打印一个字符,而不能打印整行字符,直到我用换行符或EOF终止它 #include <iostream> using namespace::std; int main() { while (true) { char c; cin.get(c); if (cin.fail()) break; cout << c; } }_C++_Iostream - Fatal编程技术网

我不知道cin.get和cout是怎么在这里工作的 我在C++注释上通过iOFixes,并将复制的CIN流复制到CUT。我的传统观点是,cout只能打印一个字符,而不能打印整行字符,直到我用换行符或EOF终止它 #include <iostream> using namespace::std; int main() { while (true) { char c; cin.get(c); if (cin.fail()) break; cout << c; } }

我不知道cin.get和cout是怎么在这里工作的 我在C++注释上通过iOFixes,并将复制的CIN流复制到CUT。我的传统观点是,cout只能打印一个字符,而不能打印整行字符,直到我用换行符或EOF终止它 #include <iostream> using namespace::std; int main() { while (true) { char c; cin.get(c); if (cin.fail()) break; cout << c; } },c++,iostream,C++,Iostream,看看代码,我只希望打印一个字符 我认为我对溪流的理解可能是根本错误的。有人能解释一下cin和cout流在这个循环中的具体行为吗。标准输入是行缓冲的,并作为流读取 按Enter键时,整行将放入输入缓冲区: |'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'|'\n'| 然后,cin.get(c)读取'1',这不能解释为什么您只希望打印一个字符?,而(true)将永远重复cin.fail()导致在流的末尾返回。在我将整行输入cin后,如何获取每个字符?啊,你希望get消耗整个

看看代码,我只希望打印一个字符


我认为我对溪流的理解可能是根本错误的。有人能解释一下cin和cout流在这个循环中的具体行为吗。

标准输入是行缓冲的,并作为流读取

按Enter键时,整行将放入输入缓冲区:

|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'|'\n'|

然后,
cin.get(c)
读取
'1'
,这
不能解释为什么您只希望打印一个字符?
,而(true)
将永远重复
cin.fail()
导致在流的末尾返回。在我将整行输入cin后,如何获取每个字符?啊,你希望
get
消耗整个123456789,并只给你第一个字符吗?是的,因为
|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'|'\n'|
|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'|'\n'|
|'3'|'4'|'5'|'6'|'7'|'8'|'9'|'\n'|