如何在cin之后获得一个空行

How to get a blank line after cin

本文关键字:一个 cin 之后      更新时间:2023-10-16

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

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

有没有其他方法可以得到cin后面的空白行,或者这个代码可行吗?

如果您愿意,可以使用endl而不是n,但您所拥有的是可以的。

您所拥有的还可以。但是,这是另一个更紧凑、更清晰的选项:

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

尽管这个问题已经过时并得到了答案,但根据GNU官方文档,给出的答案有一些陷阱。

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";
#include <iostream>
using namespace std;
int main ()
{
int a, b;
cout << "Give 'a' a value: ";
cin >> a;
cout << "" << endl;
cout << "Give 'b' a value: ";
cin >> b;
cout << "" << endl;
return 0;
}