C++ åèæå
- C++11
- C++14
- C++17
- C++20
- C++ ç¼è¯å¨æ¯ææ åµè¡¨
- ç¬ç«ä¸å®¿ä¸»å®ç°
- C++ è¯è¨
- C++ å ³é®è¯
- é¢å¤çå¨
- C++ æ ååºå¤´æä»¶
- å ·åè¦æ±
- åè½ç¹æ§æµè¯ (C++20)
- å·¥å ·åº
- ç±»åæ¯æï¼åºæ¬ç±»åãRTTIãç±»åç¹æ§ï¼
- æ¦å¿µåº (C++20)
- é误å¤ç
- 卿å å管ç
- æ¥æåæ¶é´å·¥å ·
- å符串åº
- 容å¨åº
- è¿ä»£å¨åº
- èå´åº (C++20)
- ç®æ³åº
- æ°å¼åº
- è¾å ¥/è¾åºåº
- C 飿 ¼æä»¶è¾å ¥/è¾åº
- std::basic_streambuf
- std::basic_filebuf
- std::basic_stringbuf
- è¾å ¥/è¾åºæçºµç¬¦
- std::strstreambuf
- std::basic_syncbuf
- std::basic_ios
- std::basic_istream
- std::ios_base
- std::basic_osyncstream
- std::basic_ostream
- std::basic_iostream
- std::basic_ifstream
- std::basic_ofstream
- std::basic_fstream
- std::basic_istringstream
- std::basic_ostringstream
- std::basic_stringstream
- std::istrstream
- std::ostrstream
- std::strstream
- std::streamoff
- std::streamsize
- std::fpos
- std::iostream_category
- std::io_errc
- std::cin, std::wcin
- std::cout, std::wcout
- std::cerr, std::wcerr
- std::clog, std::wclog
- 注é
- æä»¶ç³»ç»åº
- æ¬å°ååº
- æ£å表达å¼åº
- ååæä½åº
- çº¿ç¨æ¯æåº
- å®éªæ§ C++ ç¹æ§
- æç¨çèµæº
- ç´¢å¼
- std 符å·ç´¢å¼
- åç¨æ¯æ (C++20)
- C++ å ³é®è¯
ä½ç½®ï¼é¦é¡µ > C++ åèæå >è¾å ¥/è¾åºåº > std::basic_ios
std::basic_ios
  class CharT,
  class Traits = std::char_traits<CharT>
ç±» std::basic_ios æä¾è®¾æ½ï¼ä»¥å¯¹æ¥æ std::basic_streambuf æ¥å£ç对象èµäºæ¥å£ãæ°ä¸ª std::basic_ios å¯¹è±¡è½ææ¶ä¸ä¸ªå®é
ç std::basic_streambuf 对象ã
ç»§æ¿å¾
è¿æä¾äºä¸¤ä¸ªå¯¹å¸¸è§çå符类åçç¹åï¼
| Â | |
| ç±»å | å®ä¹ |
ios
|
basic_ios<char> |
wios
|
basic_ios<wchar_t> |
æåç±»å
| Â | |
| æåç±»å | å®ä¹ |
char_type
|
CharT |
traits_type
|
Traits ï¼è¥ Traits::char_type 䏿¯ CharT åç¨åºä¸ºè°¬æã |
int_type
|
Traits::int_type |
pos_type
|
Traits::pos_type |
off_type
|
Traits::off_type |
å ¬å¼æå彿°
| æé 对象 (å ¬å¼æå彿°) | |
| ææå¯¹è±¡ (å ¬å¼æå彿°) | |
| operator= |
å¤å¶èµå¼è¿ç®ç¬¦è¢«å é¤ (å ¬å¼æå彿°) |
ç¶æå½æ° | |
| æ£æ¥æ¯å¦æ²¡æåçé误ï¼ä¾å¦æ¯å¦å¯æ§è¡I/Oæä½ (å ¬å¼æå彿°) | |
| æ£æ¥æ¯å¦å°è¾¾äºæä»¶æ«å°¾ (å ¬å¼æå彿°) | |
| æ£æ¥æ¯å¦åçäºå¯æ¢å¤çé误 (å ¬å¼æå彿°) | |
| æ£æ¥æ¯å¦å·²åçä¸å¯æ¢å¤çé误 (å ¬å¼æå彿°) | |
| æ£æ¥æ¯å¦æé误åçï¼fail() çåä¹è¯ï¼ (å ¬å¼æå彿°) | |
| (C++11 å)(C++11 èµ·) |
æ£æ¥æ¯å¦æ²¡æåçé误ï¼!fail()çåä¹è¯ï¼ (å ¬å¼æå彿°) |
| è¿åç¶ææ å¿ (å ¬å¼æå彿°) | |
| è®¾ç½®ç¶ææ å¿ (å ¬å¼æå彿°) | |
| ä¿®æ¹ç¶ææ å¿ (å ¬å¼æå彿°) | |
æ ¼å¼å | |
| å¤å¶æ ¼å¼åä¿¡æ¯ (å ¬å¼æå彿°) | |
| 管çå¡«å
å符 (å ¬å¼æå彿°) | |
æé¡¹ | |
| 管çå¼å¸¸æ©ç (å ¬å¼æå彿°) | |
| 设置æ¬å°ç¯å¢ (å ¬å¼æå彿°) | |
| 管çç¸å
³çæµç¼å²åº (å ¬å¼æå彿°) | |
| 管çç»å®çæµ (å ¬å¼æå彿°) | |
| çªåå符 (å ¬å¼æå彿°) | |
| æå®½å符 (å ¬å¼æå彿°) | |
åä¿æ¤æå彿°
| åå§åä¸ä¸ªé»è®¤æé çstd::basic_ios (åä¿æ¤æå彿°) | |
| (C++11) |
ä»å¦ä¸ std::basic_ios ç§»å¨ï¼é¤äº rdbuf (åä¿æ¤æå彿°) |
| (C++11) |
ä¸å¦ä¸ std::basic_ios 交æ¢ï¼é¤äº rdbuf (åä¿æ¤æå彿°) |
æ¿æ¢ rdbuf è䏿¸
é¤å
¶éè¯¯ç¶æ (åä¿æ¤æå彿°) |
ç»§æ¿èª std::ios_base
æå彿°
æ ¼å¼å | |
| ç®¡çæ ¼å¼æ å¿ ( std::ios_base çå
¬å¼æå彿°) | |
| 设置ç¹å®æ ¼å¼æ å¿ ( std::ios_base çå
¬å¼æå彿°) | |
| æ¸
é¤ç¹å®æ ¼å¼çæ å¿ ( std::ios_base çå
¬å¼æå彿°) | |
| ç®¡çæµ®ç¹æä½ç精度 ( std::ios_base çå
¬å¼æå彿°) | |
| 管çåç宽度 ( std::ios_base çå
¬å¼æå彿°) | |
æ¬å°ç¯å¢ | |
| 设置æ¬å°ç¯å¢ ( std::ios_base çå
¬å¼æå彿°) | |
| è¿åå½åæ¬å°ç¯å¢ ( std::ios_base çå
¬å¼æå彿°) | |
å é¨å¯æ©å±æ°ç» | |
| [éæ] |
è¿åè½å®å
¨ç¨ä½ pword() å iword() 䏿 çç¨åºèå´å
ç¬æçæ´æ° ( std::ios_base çå
¬å¼éææå彿°) |
| 妿æå¿
è¦çè¯ï¼è°æ´ç§æåå¨ç大å°ï¼å¹¶ä¸è®¿é®ä½äºæä¾ç䏿 çlongå
ç´ ( std::ios_base çå
¬å¼æå彿°) | |
| è¥éè¦åéç½®ç§æåå¨ç大å°ï¼å¹¶è®¿é®ä½äºæå®ä¸æ ç void* å
ç´ ( std::ios_base çå
¬å¼æå彿°) | |
æé¡¹ | |
| 注åäºä»¶åè°å½æ° ( std::ios_base çå
¬å¼æå彿°) | |
| [éæ] |
设置C++åCçIOåºæ¯å¦å¯ä»¥äºæä½ ( std::ios_base çå
¬å¼éææå彿°) |
æåç±» | |
| æµå¼å¸¸ ( std::ios_base çå
¬å¼æåç±») | |
| åå§åæ åæµå¯¹è±¡ ( std::ios_base çå
¬å¼æåç±») | |
æåç±»åå常é | |||||||||||||||||||||||||||||||||||||||||
| Â | |||||||||||||||||||||||||||||||||||||||||
| ç±»å | è§£é | ||||||||||||||||||||||||||||||||||||||||
| æµæå¼æ¨¡å¼ç±»å
亦å®ä¹ä¸å常éï¼
(typedef) | |||||||||||||||||||||||||||||||||||||||||
| æ ¼å¼åæ å¿ç±»å
亦å®ä¹ä¸å常éï¼
(typedef) | |||||||||||||||||||||||||||||||||||||||||
| æµç¶æç±»å
亦å®ä¹ä¸å常éï¼
(typedef) | |||||||||||||||||||||||||||||||||||||||||
| 坻使¹åç±»å
亦å®ä¹ä¸å常éï¼
(typedef) | |||||||||||||||||||||||||||||||||||||||||
| æå®äºä»¶ç±»å (æä¸¾) | |||||||||||||||||||||||||||||||||||||||||
| åè°å½æ°ç±»å (typedef) | |||||||||||||||||||||||||||||||||||||||||
注æ
std::basic_ios çç´æ¥å®ç°ä»
å¨å以䏿åï¼å®ä»¬å®å
¨åå³äºæ¨¡æ¿å½¢åï¼ä»èä¸è½ä¸º std::ios_base çä¸é¨åï¼ï¼
- ç¨äºå¡«å
çå符ï¼åè§
fill()ï¼ - ç»å®çæµæéï¼åè§
tie()ï¼ - å
³èçæµç¼å²åºæéï¼åè§
rdbuf()ï¼
å®é å®ç°åå¼ï¼
Microsoft Visual Studio å¨åäºè¿ä¸ä¸ªæåã
LLVM libc++ å°å¨åäºä¸ä¸ªæåï¼å®å° rdbuf æéå¨å为 ios_base ç void* æåã
GNU libstdc++ å¨åäº 4 个é¢å¤çæåï¼ä¸ä¸ªç¼åç facet åä¸ä¸ªç¨äºæ è¯å¡«å æ¯å¦å·²åå§åçæ è®°ã