2017-10-13 96 views
0

我正在嘗試CLion編寫一些基本的C++程序,但每次使用std::cin或饋入某些輸入時,輸入將無緣無故地打印回控制檯。CLion會自動打印標準輸入的輸入,有沒有解決這個問題的方法?

例如,如果我運行這個程序

#include <iostream> 
#include <string> 

int main(){ 
    string name; 
    std::cin >> name; 
    std::cout << name << std::endl; 
    return 0; 
} 

,並鍵入托馬斯,然後按回車我得到這個輸出

thomas 
thomas 
thomas 

的時候,而不是我應該得到公正

thomas 
thomas 

我在Windows上使用CLion/Mingw64 10 x64

+0

您輸入'thomas'並按回車。這意味着至少會顯示一個。你看到一個或兩個以上(總共三個)? – NathanOliver

+0

對不起,編輯了這個問題,我的錯,基本上我看到了我寫的托馬斯,那個被cout打印的托馬斯,但我無法理解第三個來自哪裏 –

+0

好的。感謝澄清。 – NathanOliver

回答

3

你的代碼沒有問題。

你觀察到的是使用WinPTY的副作用。默認情況下,CLion使用它與Windows上的調試程序進行通信。

下面是我們的問題跟蹤器中的相應錯誤:CPP-2580 User input appears twice in output window in CLion under MinGW,請隨時註冊票。通過查找操作,類型run.processes.with.pty

打開註冊表,並禁用此PTY設置:

雖然沒有對這一問題沒有適當的修復還沒有,你可以使用在意見提出的解決方法,那票禁用PTY。

相關問題