C++/sstream

維基教科書,自由的教學讀本
< C++
跳至導覽 跳至搜尋

sstream頭文件主要定義了基於std::string類的流輸入輸出。

類模板[編輯]

  • basic_stringbuf: 繼承自basic_streambuf
    • str : 獲取、設置字符串緩衝區的內容。獲取時返回的是一個臨時對象。
    • operator =(移動語義) : 移動語義的賦值運算符。
    • swap : 交換兩個對象內容。
    • rdbuf : 返回內部的basic_stringbuf對象指針。
  • basic_istringstream
  • basic_ostringstream
    • 構造函數:如果帶一個std::string參數,則使用參數的內容作為被構造的對象的初始內容。
  • basic_stringstream

類型[編輯]

  • istringstream
  • ostringstream
  • stringstream
  • stringbuf
  • wistringstream
  • wostringstream
  • wstringstream
  • wstringbuf


函數[編輯]

類型定義[編輯]

  • typedef basic_istringstream< char > istringstream;
  • typedef basic_ostringstream< char > ostringstream;
  • typedef basic_stringstream< char > stringstream;
  • typedef basic_stringbuf< char > stringbuf;
  • typedef basic_istringstream< wchar_t > wistringstream;
  • typedef basic_ostringstream< wchar_t > wostringstream;
  • typedef basic_stringstream< wchar_t > wstringstream;
  • typedef basic_stringbuf< wchar_t > wstringbuf;

實踐[編輯]

重複使用同一個ostringstream對象時,建議:

  • 調用clear()清除當前錯誤控制狀態,其原型為 void clear (iostate state=goodbit); 標誌位一共有4種, goodbit, eofbit, failbit, badbit, clear()可以清除掉所有的error state
  • 調用str("")將緩衝區清零,清除髒數據