我有一些代码,它接受一个段落并在每个句子后开始一个新行。
我想用新行缓冲终端中的输出,但添加" std :: cout<< ENDL;"循环之外似乎不起作用。如果将输入输入到终端,则有助于将输入与输出分开。
我已经注释了我期望工作的代码,但没有。
#include <iostream>
#include <string>
using namespace std;
int main() {
// std::cout << std::endl;
for (;;) {
string line;
getline(std::cin, line);
if (!cin) {
break;
}
for (unsigned int i = 0; i < line.length(); ++i) {
const string text = line.substr(i, 1);
if (text == "." || text == "?" || text == "!") {
std::cout << text;
std::cout << std::endl;
}else{
std::cout << text;
}
}
}
// std::cout << std::endl;
return 0;
}
答案 0 :(得分:-1)
注释行将永远无法工作,因为它永远不会被调用。你之前有一个无限循环for(;;)
。