Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.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++;cout不适用于该方法_C++_Cout - Fatal编程技术网

C++ C++;cout不适用于该方法

C++ C++;cout不适用于该方法,c++,cout,C++,Cout,我正在尝试实现一个隐藏单词查找游戏,它从文本文件中读取拼图,然后尝试找出隐藏单词的位置。然而,当我尝试进行上下搜索时,屏幕上没有显示任何内容,即使我编写了一个独立于该方法的简单cout命令。下面是代码:(输出为nothing btw) boolWordPuzzle::searchTopToBottom(字符串字){ cout您应该在cout的末尾添加endl,如下所示: cout要刷新输出缓冲区,只需使用std::flush: std::cout << "my string to b

我正在尝试实现一个隐藏单词查找游戏,它从文本文件中读取拼图,然后尝试找出隐藏单词的位置。然而,当我尝试进行上下搜索时,屏幕上没有显示任何内容,即使我编写了一个独立于该方法的简单cout命令。下面是代码:(输出为nothing btw)

boolWordPuzzle::searchTopToBottom(字符串字){

cout您应该在
cout
的末尾添加
endl
,如下所示:
cout要刷新输出缓冲区,只需使用
std::flush

std::cout << "my string to be printed" << std::flush;


std::记不起输出已缓冲,并且输出不会立即发生。请使用例如
std::flush
std::endl
操纵器来刷新缓冲区。请注意预览窗口,在发布代码时不要使用选项卡(这次为您修复了它)。您使用的是什么操作系统?我猜是Linux Mint 15.4。“它将等待您编写回车符来显示行。”不!
cout
在写入终端时通常会进行行缓冲(重定向到文件并
tail
,您会看到缓冲区刷新的频率较低),但这肯定不是标准所要求的。使用
'\n'
编写换行符,使用
std::flush
进行刷新。
std::endl
同时执行这两项操作,但它经常被误解和误用,因此我建议完全避免使用它。我添加了endl语句,但只显示asdasd和qweqwe字符串当(i
?两个
“qweqw”时,程序是否结束或卡在
显示字符串?
std::cout
不保证是行缓冲的。如果要刷新,请使用
std::flush
。确实很简单。@BoBTFish是的,一般来说你是对的。但至少在linux中,当写入tty时,这是行缓冲的。在执行std::cin时,输出似乎会自动刷新,所以至少至少在linux上,我的答案并不需要std::flush。
std::cout << "my string to be printed" << std::flush;
std::cout << "my string to be printed\n";
std::cout << "my string to be printed" << '\n';