[英]can I Remove "endl" in ( cout<<" "<<endl ) in C++?
我是 C++ 的初学者,我的问题是我可以删除cout
末尾的endl
,例如:
cout<<" "<<endl;
我不想回到新行。 如果我无法删除它,我该怎么办?
房间里的大象:从cout
删除endl
。
但如果您不拥有该代码,您可以尝试“\\033[F”,如果您的终端支持它,它会将您移到上一行。
另一种可能性是使用rdbuf
将cout
缓冲区重定向到您控制的ostream
。 您可以 (i) 重定向,(ii) 调用使用新行写入错误cout
的函数,以及 (iii) 检查您的ostream
并写入原始缓冲区,这次省略endl
。 完成后切换回所有内容。
是的,当然您不需要每次使用<<
都使用std::endl
。 例如,打印元素之间有空格的向量的简单方法如下所示:
std::vector<int> foo = {1,2,3,4,5};
for (auto e : foo)
std::cout << e << " ";
这里我们从不使用endl
。 你 cout 也只是在字符串文字的末尾使用\\n
,这也会在缓冲区中放置一个换行符。
std::cout << "test\n";
std::cout << "this will be on a new line";
请注意,我没有在最后一个cout<<
放置换行符,因此如果还有输出,它将在“line”中的“e”之后立即开始。
是的,您可以删除 endl。 它是<< 流操作符的可选参数,其中有很多。 如果不包含它,则不会输出新的回车符/换行符,因此文本将出现在输出的同一行上(大概是控制台)。
例如
cout << "Hello, World" << endl;
会成为:
cout << "Hello, World";
或者用另一种方式来说明这一点,你可以这样写:
cout << "Hello,";
cout << " World";
还有很多其他的例子,这里是初学者的一个: http : //www.cplusplus.com/doc/tutorial/basic_io/
cout<<"Your message here.";
就这么简单。 你是不是想做一些像......
cout<<"Your message here."<<;
……? 这是错误的:
<<
运算符表示在""
部分之后出现某些内容。 在这种情况下你没有。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.