簡體   English   中英

抑制從 cin 到 cout 的回聲

[英]Suppress echo to cout from cin

我正在嘗試創建一個非常簡單的聊天應用程序,用戶在其中輸入一些內容(由 cin 接收),我手動回顯他們的 output,但 cin 在用戶按鍵盤輸入后自然會打印到控制台。

有沒有辦法在用戶從 cin 返回后將此回聲抑制回 cout 中,以便我可以用自己的消息覆蓋它?

前任:

int main() 
{
    string str;
    while(true) 
    {
         getline(cin, str)
         cout << "Person: " << str << endl;
    }
}

output 看起來像這樣:

Some text I typed
Person: Some text I typed

當用戶發送新行時,第一行會自動回顯到終端。 這是我想壓制的線。

有任何想法嗎? 如果可能的話,我會盡量避免使用任何第三人稱圖書館。

據我所知,如果不使用任何第三方庫,這在標准 C++ 上是不可能的。 如果您願意使用特定於操作系統的庫,那么此鏈接鏈接可能會有所幫助。 不幸的是,這在本機 C++ 中不是一個選項,因為它取決於操作系統來決定它如何處理控制台 output(因此,例如,為什么您需要針對高級控制台內容(如顏色)的操作系統特定解決方案)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM