我正在尝试实现隐藏的单词查找器游戏,它从文本文件中读取拼图,然后尝试找出隐藏单词的位置。但是,当我尝试进行顶部顶部搜索时,即使我编写一个独立于该方法的简单cout命令,屏幕上也不会显示任何内容。这是代码:(输出什么都没有)
bool WordPuzzle::searchTopToBottom(string word){
cout << "asdasda";
string fullWord = "";
int i = 0;
int j = 0;
int index = 0;
int count;
bool a = false;
while (i < numOfColumn){
while (j < numOfRow){
if (word[index] == puzzle[i][j]){
i++;
index++;
count++;
fullWord += word[index];
if (count == word.size()){
a = true;
break;
}
}
else
j++;
}
}
if (a){
cout << fullWord;
return true;
}
else{
cout << "not found";
return false;
}
}
int main (){
cout << "qweqw";
WordPuzzle w ("puzzle.txt");
cout << "qweqw";
w.searchTopToBottom("DEMIR");
return 0;
}
答案 0 :(得分:2)
您应该在endl
的末尾添加cout
,如下所示:
cout << variable << endl;
标准输出是缓冲的,它将一直等到你写一个回车来显示该行。 endl
添加此回车。
答案 1 :(得分:1)
要刷新输出缓冲区,只需使用std::flush
:
std::cout << "my string to be printed" << std::flush;
当你想要一个换行符时,只需将'\n'
写到一行的末尾:
std::cout << "my string to be printed\n";
或
std::cout << "my string to be printed" << '\n';
取决于同样会刷新输出缓冲区的实现(至少在linux上写入终端时)。
一般而言:
'\n'
std::flush
std::endl
。