首頁 >後端開發 >C++ >`cin` 如何處理 C 中的輸入以及為什麼首選 `getline()` 來讀取整行?

`cin` 如何處理 C 中的輸入以及為什麼首選 `getline()` 來讀取整行?

Linda Hamilton
Linda Hamilton原創
2024-10-30 09:12:27683瀏覽

How does `cin` handle input in C   and why is `getline()` preferred for reading entire lines?

「cin」的C 輸入流行為

在C 中使用「cin」流讀取輸入時,了解它是如何運作的非常重要與各種資料類型互動。預設情況下,“cin”一次讀取一個單詞,這可能會在處理字元數組或字串時導致意外行為。

在提供的程式碼範例中,「String」中的「input()」方法" 類別使用"cin >> str;"讀取輸入字串。但是,此語句僅捕獲單字,忽略輸入中的任何後續單字 因此,當輸入包含多個單字時,例如“steve hawking”,只有第一個單字“steve”儲存在“str”陣列中。 :使用getline( ) 讀取完整行

要將完整的輸入行讀取到字元陣列中,可以使用「getline()」函數來取代「cin >>」。 getline()」更新後的輸入方法:

「getline()」採用兩個參數:指向目標陣列的指標和陣列的大小。它讀取輸入直到遇到換行符,從而有效地捕捉整行輸入。提供了「std::string」類,它提供了更強大且類型安全的字串處理方法。 「iostream.h」和「conio.h」等頭檔已經過時了。

以上是`cin` 如何處理 C 中的輸入以及為什麼首選 `getline()` 來讀取整行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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