ios_base類

      網友投稿 740 2025-04-02

      目錄

      一,_Fmtfl 格式

      二,width 格式

      三,precision 格式

      四,sync_with_stdio函數

      ios_base類是輸入輸出流的一個基礎類。

      The class?ios_base?is a multipurpose class that serves as the base class for all I/O stream classes.

      一,_Fmtfl 格式

      這個成員的每一位,都用來控制流的一個屬性

      初始化:_Fmtfl ?= skipws | dec; 初始值是513

      讀取:flags()

      替換:flags(fmtflags _Newfmtflags)

      加格式:setf(fmtflags _Newfmtflags)

      在給定的mask內設置格式:setf(fmtflags _Newfmtflags, fmtflags _Mask)

      相關庫函數

      _NODISCARD fmtflags __CLR_OR_THIS_CALL flags() const {

      return _Fmtfl;

      }

      fmtflags __CLR_OR_THIS_CALL flags(fmtflags _Newfmtflags) { // set format flags to argument

      const fmtflags _Oldfmtflags = _Fmtfl;

      _Fmtfl = _Newfmtflags & _Fmtmask;

      return _Oldfmtflags;

      ios_base類

      }

      fmtflags __CLR_OR_THIS_CALL setf(fmtflags _Newfmtflags) { // merge in format flags argument

      const ios_base::fmtflags _Oldfmtflags = _Fmtfl;

      _Fmtfl |= _Newfmtflags & _Fmtmask;

      return _Oldfmtflags;

      }

      fmtflags __CLR_OR_THIS_CALL setf(

      fmtflags _Newfmtflags, fmtflags _Mask) { // merge in format flags argument under mask argument

      const ios_base::fmtflags _Oldfmtflags = _Fmtfl;

      _Fmtfl = (_Oldfmtflags & ~_Mask) | (_Newfmtflags & _Mask & _Fmtmask);

      return _Oldfmtflags;

      }

      void __CLR_OR_THIS_CALL unsetf(fmtflags _Mask) { // clear format flags under mask argument

      _Fmtfl &= ~_Mask;

      }

      示例:

      int main()

      {

      cout << cout.flags() << endl;

      cout.setf(ios::unitbuf);

      cout << cout.flags() << endl;

      cout.unsetf(ios::unitbuf);

      cout << cout.flags() << endl;

      return 0;

      }

      輸出

      513

      515

      513

      其中ios::unitbuf是常數2

      其他的 _Fmtfl 格式:

      二,width 格式

      width用來控制整數輸出的寬度,即占幾個字符

      相關庫函數

      _NODISCARD streamsize __CLR_OR_THIS_CALL width() const {

      return _Wide;

      }

      streamsize __CLR_OR_THIS_CALL width(streamsize _Newwidth) { // set width to argument

      const streamsize _Oldwidth = _Wide;

      _Wide = _Newwidth;

      return _Oldwidth;

      }

      示例:

      int main()

      {

      for (int i = 0; i < 100; i++) {

      if (i % 10 == 0)cout << endl;

      cout.width(3);

      cout << i;

      }

      return 0;

      }

      三,precision 格式

      precision用來控制浮點數的輸出精度

      相關庫函數

      _NODISCARD streamsize __CLR_OR_THIS_CALL precision() const {

      return _Prec;

      }

      streamsize __CLR_OR_THIS_CALL precision(streamsize _Newprecision) { // set precision to argument

      const streamsize _Oldprecision = _Prec;

      _Prec = _Newprecision;

      return _Oldprecision;

      }

      示例:

      int main()

      {

      cout.precision(3);

      cout << 1.414213562;

      return 0;

      }

      輸出:1.41

      四,sync_with_stdio函數

      Sets whether the standard C++ streams are synchronized to the standard C streams after each input/output operation.

      相關庫函數

      static bool __CLRCALL_OR_CDECL sync_with_stdio(

      bool _Newsync = true) { // set C/C++ synchronization flag from argument

      _BEGIN_LOCK(_LOCK_STREAM) // lock thread to ensure atomicity

      const bool _Oldsync = _Sync;

      _Sync = _Newsync;

      return _Oldsync;

      _END_LOCK()

      }

      其中_Sync是私有靜態成員

      __PURE_APPDOMAIN_GLOBAL static bool _Sync;

      這表明所有的流共享一個_Sync成員。

      iOS

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:我一打開WPS的excel表格就是異常給我關閉是為啥(wps老是異常關閉)
      下一篇:如何降低屏幕亮度(臺式機如何降低屏幕亮度)
      相關文章
      亚洲av成本人无码网站| 亚洲精品福利网站| 亚洲AV成人精品网站在线播放| 国产综合成人亚洲区| 亚洲中文字幕无码mv| 亚洲性69影院在线观看| 久久亚洲AV成人无码| 久久亚洲精品无码aⅴ大香 | 亚洲热妇无码AV在线播放| 亚洲精品无码久久久久牙蜜区| 亚洲 暴爽 AV人人爽日日碰| 亚洲1区1区3区4区产品乱码芒果 | 亚洲国产精品综合久久2007| 久久亚洲AV成人无码电影| 亚洲一区综合在线播放| 亚洲视频中文字幕| 久久精品国产精品亚洲毛片| 亚洲黄色在线电影| 亚洲一卡2卡4卡5卡6卡在线99| 亚洲国产成人综合| 日韩亚洲国产综合高清| 亚洲中文字幕无码久久| 国产亚洲人成在线播放| 理论亚洲区美一区二区三区| 亚洲AV无码一区二区三区国产| 亚洲国产午夜中文字幕精品黄网站| 亚洲色一色噜一噜噜噜| 亚洲热线99精品视频| 亚洲乱码中文字幕综合| 亚洲AV日韩AV永久无码久久| 久久亚洲精品中文字幕| 亚洲美女视频一区| 亚洲免费福利在线视频| 亚洲gay片在线gv网站| 国产产在线精品亚洲AAVV| 精品亚洲成α人无码成α在线观看 | 亚洲男人天堂av| 亚洲综合久久成人69| 亚洲乱码在线视频| 亚洲成在人线在线播放无码| 深夜国产福利99亚洲视频|