停止C++新行cin

问题描述:

在C++中,iostream会在cin后自动添加新行。有没有办法摆脱这个?停止C++新行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; 
} 
+2

目前还不清楚你在问什么。发布你的代码可能会有帮助。 –

+0

是的,请发布你的代码 – Sean

+0

如果你有两个独立的问题,你应该在两个单独的帖子中问他们。 – Hurkyl

您可能按下了返回键将您的输入从命令行发送到程序的标准输入。这就是换行符来自的地方。在换行符出现在控制台之前,您无法从cin中读取您的号码,因为换行符是导致控制台首先将输入内容传递给程序的原因。作为一个用户,你可以配置你的控制台(或者运行你的程序的任何东西)以不同的方式行事,但是程序本身无法强制这种行为。

如果你真的想让你的输入和输出在同一行,你需要找到一种方法来“写入前一行”。工作原理取决于您的控制台(另请参阅How to rollback lines from cout?)。没有标准的方法来做到这一点,因为cincout没有任何义务被附加到一个控制台或类似的东西,所以目前还不清楚“写入前一行”甚至意味着什么。