首頁 > 後端開發 > C++ > 主體

如何在 C 中正確清除和重置 StringStream ?

Patricia Arquette
發布: 2024-11-04 09:17:02
原創
311 人瀏覽過

How Do You Properly Clear and Reset a StringStream in C  ?

清除與重設 StringStream

在 C 中,字串流是與字串物件關聯的輸入/輸出緩衝區。它允許使用流操作來操作字串。

問題陳述:

考慮以下程式碼:

<code class="cpp">stringstream parser;

parser << 5;
short top = 0;
parser >> top;
parser.str(""); // Attempt to reset parser

parser << 6; // Doesn't put 6 into parser
short bottom = 0;
parser >> bottom;</code>
登入後複製

嘗試時出現問題使用parser.str("") 清除字串流的內容後重複使用字串流。

解決方案:

要正確清除字串流,您需要執行兩個步驟:

  1. 使用parser.str(std ::string()) 將底層字串重設為空字串。
  2. 使用 parser.clear() 清除所有失敗和 eof 標誌。
<code class="cpp">parser.str( std::string() );
parser.clear();</code>
登入後複製

說明:

第一個>>操作從字串流中讀取整數5 並設定eof 位,因為已到達字符串末尾。隨後嘗試讀取 6 失敗,因為 eof 位元仍處於設定狀態。透過重置底層字串並清除標誌,您可以將流恢復到其初始配置並允許後續操作成功。

以上是如何在 C 中正確清除和重置 StringStream ?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!