我需要一行来将用户输入与结果分开。这是一门基础计算机科学课程。
cout << "Please enter (variable): ";
cin >> (variable);
cout << "\n\n:";
cout << "(results)" << endl;
还有其他方法可以获得cin之后的空行,还是这个可行的代码?
答案 0 :(得分:5)
如果您愿意,可以使用endl
而不是\n
,但您拥有的却很好。
答案 1 :(得分:1)
你有什么是好的。然而,这是另一个更紧凑和易读的选择:
out << "Please enter (variable): ";
cin >> (variable);
cout << endl << "(results)" << endl;
答案 2 :(得分:0)
虽然这个问题很老而且已经回答了,但是根据官方GNU documentation给出的答案有一些陷阱。
endl
被许多编码人员错误地用作换行符,这不是它的用途,并且将它用于此目的会使其在实际用例中的效率降低。它用于刷新缓冲区,经常将它用于换行符会使您在文件中写入文本/数据时容易使用它,并且这种使用会影响它的缓冲效率。
此外,每次需要换行时都刷新缓冲区并不是一件可取的事情。
那么如何在使用 cin
时添加换行符
#include <iostream>
#include <string>
using namespace std;
int main()
{
string var;
cout << "Please enter (variable):\n";
getline(cin, var);
cout << "(results)" << var << "\n";
return 0;
}
cout << "Please enter (variable):\n";
cin >> (variable);
cout << "\n(results)\n";