我可以删除&#34; endl&#34; in(cout&lt;&lt;&#34;&#34;&lt; <endl)=“”in =“”c ++?=“”

时间:2015-11-17 17:12:17

标签: c++

=“”

我是C ++的初学者,我的问题是我可以删除endl cout末尾的那个:{p>

cout<<" "<<endl;

我不想回归新线。如果我无法删除它,我该怎么办?

4 个答案:

答案 0 :(得分:4)

房间里的大象:从endl移除cout

但是如果您不拥有该代码,您可以尝试“\ 033 [F”,如果您的终端支持它,则会将您移至上一行。

另一种可能性是使用coutrdbuf缓冲区重定向到您控制的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."<<; ....?这是错误的:

<<运算符表示""部分之后出现了某些内容。在这种情况下你没有。