我是C ++的初学者,我的问题是我可以删除endl
cout
末尾的那个:{p>
cout<<" "<<endl;
我不想回归新线。如果我无法删除它,我该怎么办?
答案 0 :(得分:4)
房间里的大象:从endl
移除cout
。
但是如果您不拥有该代码,您可以尝试“\ 033 [F”,如果您的终端支持它,则会将您移至上一行。
另一种可能性是使用cout
将rdbuf
缓冲区重定向到您控制的ostream
。您可以(i)重定向,(ii)调用使用新行写入错误cout
的函数,以及(iii)检查您的ostream
并写入原始缓冲区,这次省略{{ 1}}。完成后切换回所有内容。
答案 1 :(得分:2)
是的,您每次使用std::endl
时都不需要使用<<
。例如,在元素之间打印带空格的向量的简单方法如下所示:
std::vector<int> foo = {1,2,3,4,5};
for (auto e : foo)
std::cout << e << " ";
我们从不使用endl
。你也可以在字符串文字的末尾使用\n
,这也会在缓冲区中添加换行符。
std::cout << "test\n";
std::cout << "this will be on a new line";
请注意,我没有在最后cout<<
中添加换行符,所以如果再输出它,它将在&#34; e&#34;之后立即开始。在&#34; line&#34;。
答案 2 :(得分:0)
是的,你可以删除endl。它是&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;流运营商有很多。如果您不包含它,则不会输出新的回车符/换行符,因此文本将出现在输出的同一行(可能是控制台)。
例如
cout << "Hello, World" << endl;
会变成:
cout << "Hello, World";
或以另一种方式指出:
cout << "Hello,";
cout << " World";
还有很多其他的例子,这里有一个对于初学者:http://www.cplusplus.com/doc/tutorial/basic_io/
答案 3 :(得分:0)
cout<<"Your message here.";
就这么简单。你想做点什么......
cout<<"Your message here."<<;
....?这是错误的:
<<
运算符表示""
部分之后出现了某些内容。在这种情况下你没有。