首頁 >後端開發 >C++ >為什麼 `cin >> str` 只提取 C 中的第一個字?

為什麼 `cin >> str` 只提取 C 中的第一個字?

Susan Sarandon
Susan Sarandon原創
2024-10-27 16:47:30943瀏覽

Why does `cin >> str` 只提取 C 中的第一個字? 
> str` 只擷取 C 中的第一個字? " />

cin 只提取C 語言中的第一個字

在提供的程式碼中,cin 使用cin >> str; 僅捕獲第一個單詞,在處理包含多個單詞的輸入時會導致問題,這是由於cin 在Turbo C 中的操作方式,在遇到>>.

或者,如果使用更現代的C 環境並使用字串,您可以將char 數組替換為std::string 並利用getline() 讀取輸入,如下所示:

其他注意事項:

<code class="c++">cin.getline(str, sizeof str);</code>

強烈建議更新您的編譯器,因為Turbo C 4.5 已經明顯過時,並且不支援現代Visual Studio Express 或其他現代編譯器以獲得更好的相容性。

以上是為什麼 `cin >> str` 只提取 C 中的第一個字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn