2015-04-23 46 views
-2

在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

回答

1

您可能按下了返回鍵將您的輸入從命令行發送到程序的標準輸入。這就是換行符來自的地方。在換行符出現在控制檯之前,您無法從cin中讀取您的號碼,因爲換行符是導致控制檯首先將輸入內容傳遞給程序的原因。作爲一個用戶,你可以配置你的控制檯(或者運行你的程序的任何東西)以不同的方式行事,但是程序本身無法強制這種行爲。

如果你真的想讓你的輸入和輸出在同一行,你需要找到一種方法來「寫入前一行」。工作原理取決於您的控制檯(另請參閱How to rollback lines from cout?)。沒有標準的方法來做到這一點,因爲cincout沒有任何義務被附加到一個控制檯或類似的東西,所以目前還不清楚「寫入前一行」甚至意味着什麼。