如何在cin之后得到一个空白行

时间:2014-09-09 23:44:31

标签: c++

我需要一行来将用户输入与结果分开。这是一门基础计算机科学课程。

cout << "Please enter (variable): ";
cin >> (variable);
cout << "\n\n:";
cout << "(results)" << endl;

还有其他方法可以获得cin之后的空行,还是这个可行的代码?

3 个答案:

答案 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";