停止C ++ cin的新行

时间:2015-04-23 02:40:50

标签: c++

在C ++中,iostream会在cin之后自动放入一个新行。有没有办法摆脱这个?

我想使用iomanip将信息格式化为表格,如下所示:

cin        cout
0.078125   3DA00000
-8.75      C10C0000
23.5       41BC0000

(随机数字)

示例代码:

#include <iostream>
using namespace std;

int main()
{
    int num;

    cin >> num; //now a new line.
    cout << num << endl;

    return 0;
}

1 个答案:

答案 0 :(得分:1)

您可能按下返回键将输入从命令行发送到程序的标准输入。这是新行的来源。在此换行符出现在控制台之前,您无法从hello o1 e1 o2 e2 o3 e3 Test 1 o1 o2 o3 e1 e2 e3 Test 2 o1 o2 o3 e1 e2 e3 Test 3 o1 o2 o3 e1 e2 e3 读取您的号码,因为新行是导致控制台首先将您的输入传递给程序的原因。作为用户,您可以将控制台(或运行程序的任何内容)配置为采取不同的行为,但程​​序本身无法强制执行此类行为。

如果您真的希望将输入和输出放在同一行,您需要找到一种方法来写入前一行&#34;。工作原理取决于您的控制台(另请参阅How to rollback lines from cout?)。没有标准的方法可以做到这一点,因为cincin没有义务连接到控制台或任何类似的控制台,所以不清楚&#34;写入以前的线&#34;甚至意味着什么。