如何在cin之后获得一个空行
How to get a blank line after cin
我需要一行将用户输入与结果分开。这是一门计算机科学基础课程。
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;
}
相关文章:
- 将 cin 限制为只有一个
- cin >> int 给定一个字符串将 int 赋值为 0
- CIN 仅在输入非数字值时跳过下一个 CIN
- 输入 ctrl + x 后如何再次 cin (cin<<x) 循环(cin 一个结构)
- C++:忽略第一个 cin.ignore 之后的输入
- 使用 (cin) 用户输入将其粘贴到 std::system 中,并在另一个终端中运行带有输入的命令
- C++使用cin给变量一个非整数的值
- 两个 cin / cout 语句合并为一个
- 当我输入一个字母时,cin 输入(输入是一个 int),而不是打印错误一次,它打印正确一次,然后在循环的其余部分打印 i
- 如何将字符输入限制为仅获取一个字符串"cin"
- 如何在第一个 std::cin 之后阻止终端在 C++ 中关闭
- 我可以做一个循环,直到“std::cin”在输入缓冲区中看到“”字符
- C 初始化一个变量并使用std :: cin分配
- 如何从另一个线程停止 std::cin 再读取输入?
- "cin.get"停止了另一个输入函数,如"cin"..C++
- 获取线跳到下一个 cin 并跳过上一个 cin
- 当一长串字符传递给第一个 cin 时,为什么不暂停第二个 cin 上的输入?
- 一个"cin"的多个输入
- 我的第一个 cin 被忽略了,它只接受第二个
- 第一个也是唯一一个 cin 被跳过,即使在使用 cin.ignore 之后也是如此