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_filebuf
std::basic_filebuf
  class CharT,
  class Traits = std::char_traits<CharT>
std::basic_filebuf æ¯å
³èå符åºå为æä»¶ç std::basic_streambuf ãè¾å
¥åºååè¾åºåºåé½å
³èå°å䏿件ï¼å¹¶ä¸ºä¸¤ç§æä½ç»´æ¤è¿æ¥æä»¶ä½ç½®ã
彿° underflow() å overflow()/sync() è¿è¡æä»¶åç¼å²åºçè·åæ¾ç½®åºä¹é´çå®é
I/O ã CharT 䏿¯ char æ¶ï¼å¤æ°å®ç°å¨æä»¶åå¨å¤åèå符ï¼å¹¶ç¨ std::codecvt å¹³é¢è¿è¡å®½/å¤åèå符转æ¢ã
亦为常ç¨å符类åå®ä¹äºä¸ªç¹åï¼
| å®ä¹äºå¤´æä»¶
<streambuf> | |
| Â | |
| ç±»å | å®ä¹ |
filebuf
|
basic_filebuf<char> |
wfilebuf
|
basic_filebuf<wchar_t> |
æåç±»å
| Â | |
| å®ä¹ç±»å | å®ä¹ |
char_type
|
CharT |
traits_type
|
Traits ï¼è¥ Traits::char_type 䏿¯ CharT åç¨åºä¸ºè°¬æã |
int_type
|
Traits::int_type |
pos_type
|
è¦æ±ä¸º std::fpos<Traits::state_type> ç Traits::pos_type |
off_type
|
Traits::off_type |
æå彿°
å ¬å¼æå彿° | |
| æé basic_filebuf 对象 (å ¬å¼æå彿°) | |
| (C++11) |
èµå¼ basic_filebuf 对象 (å ¬å¼æå彿°) |
| (C++11) |
交æ¢äºä¸ª basic_filebuf 对象 (å ¬å¼æå彿°) |
| [è] |
ææ basic_filebuf 对象并ä¸è¥æå¼åå
³éæä»¶ (èå ¬å¼æå彿°) |
| æ£æ¥å
³èæä»¶æ¯å¦æå¼ (å ¬å¼æå彿°) | |
| æå¼æä»¶å¹¶é
ç½®å®ä¸ºå
³èå符åºå (å ¬å¼æå彿°) | |
| å²å
¥æ¾ç½®åºç¼å²åºå¹¶å
³éå
³èçæä»¶ (å ¬å¼æå彿°) | |
åä¿æ¤æå彿° | |
| [è] |
å¯éå°æä¾å¯ç¨äºä»æä»¶è¾å
¥çåç¬¦æ° (èåä¿æ¤æå彿°) |
| [è] |
ä»å
³èæä»¶è¯»å (èåä¿æ¤æå彿°) |
| [è] |
ä»å
³èæä»¶è¯»åï¼å¹¶ä»¤è·ååºçä¸ä¸ä½ç½®æéåè¿ (èåä¿æ¤æå彿°) |
| [è] |
åéè¾åºåºå以æ¾åå符ï¼ä¸å½±åå
³èæä»¶ (èåä¿æ¤æå彿°) |
| [è] |
仿¾ç½®åºåå符å°å
³èçæä»¶ (èåä¿æ¤æå彿°) |
| [è] |
æä¾ç¨æ·ä¾åºçç¼å²åºï¼æå°æ¤ filebuf 转å为æ ç¼å² (èåä¿æ¤æå彿°) |
| [è] |
ç¨ç¸å¯¹å¯»åé坻使件ä½ç½® (èåä¿æ¤æå彿°) |
| [è] |
ç¨ç»å¯¹å¯»åé坻使件ä½ç½® (èåä¿æ¤æå彿°) |
| [è] |
仿¾ç½®åºåå符å°å
³èæä»¶ (èåä¿æ¤æå彿°) |
| [è] |
æ´æ¹å
³èçæ¬å°ç¯å¢ (èåä¿æ¤æå彿°) |
éæå彿°
| ç¹å std::swap ç®æ³ (彿°æ¨¡æ¿) |
ç»§æ¿èª std::basic_streambuf
æåç±»å
| Â | |
| æåç±»å | å®ä¹ |
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 |
æå彿°
| [è] |
ææ basic_streambuf 对象 ( std::basic_streambuf<CharT,Traits> çèå
¬å¼æå彿°) |
æ¬å°ç¯å¢ | |
| è°ç¨ imbue() ( std::basic_streambuf<CharT,Traits> çå
¬å¼æå彿°) | |
| è·å¾ç¸å
³æ¬å°ç¯å¢ç坿¬ ( std::basic_streambuf<CharT,Traits> çå
¬å¼æå彿°) | |
å¯»ä½ | |
| è°ç¨ setbuf() ( std::basic_streambuf<CharT,Traits> çå
¬å¼æå彿°) | |
| è°ç¨ seekoff() ( std::basic_streambuf<CharT,Traits> çå
¬å¼æå彿°) | |
| è°ç¨ seekpos() ( std::basic_streambuf<CharT,Traits> çå
¬å¼æå彿°) | |
| è°ç¨ sync() ( std::basic_streambuf<CharT,Traits> çå
¬å¼æå彿°) | |
è·ååº | |
| è·å¾è·ååºä¸ç«å³å¯ç¨çåç¬¦æ° ( std::basic_streambuf<CharT,Traits> çå
¬å¼æå彿°) | |
| 令è¾å
¥åºååè¿ï¼è¯»åä¸ä¸ªå符èä¸å次åè¿ ( std::basic_streambuf<CharT,Traits> çå
¬å¼æå彿°) | |
| ä»è¾å
¥åºå读åä¸ä¸ªå符并令åºååè¿ ( std::basic_streambuf<CharT,Traits> çå
¬å¼æå彿°) | |
| stossc (C++98 ä¸å¼ç¨)(C++17 ä¸ç§»é¤) |
令è¾å
¥åºååè¿ï¼å¦åéè¿è°ç¨ sbumpc() å¹¶èå¼ç»æ (å ¬å¼æå彿°) |
| ä»è¾å
¥åºå读åä¸ä¸ªå符ï¼èä¸ä»¤åºååè¿ ( std::basic_streambuf<CharT,Traits> çå
¬å¼æå彿°) | |
| è°ç¨ xsgetn() ( std::basic_streambuf<CharT,Traits> çå
¬å¼æå彿°) | |
æ¾ç½®åº | |
| åä¸ä¸ªåç¬¦å°æ¾ç½®åºåï¼å¹¶ä»¤ next æéåè¿ ( std::basic_streambuf<CharT,Traits> çå
¬å¼æå彿°) | |
| è°ç¨ xsputn() ( std::basic_streambuf<CharT,Traits> çå
¬å¼æå彿°) | |
åæ¾ | |
| å¨è¾å
¥åºå䏿¾åä¸ä¸ªå符 ( std::basic_streambuf<CharT,Traits> çå
¬å¼æå彿°) | |
| åç§»ä¸ä½è¾åºåºåä¸çä¸ä¸ä½ç½®æé ( std::basic_streambuf<CharT,Traits> çå
¬å¼æå彿°) | |
åä¿æ¤æå彿°
| æé basic_streambuf 对象 (åä¿æ¤æå彿°) | |
| (C++11) |
æ¿æ¢ basic_streambuf 对象 (åä¿æ¤æå彿°) |
| (C++11) |
交æ¢äºä¸ª basic_streambuf 对象 (åä¿æ¤æå彿°) |
æ¬å°ç¯å¢ | |
| [è] |
æ´æ¹å
³èçæ¬å°ç¯å¢ ( std::basic_streambuf<CharT,Traits> çèåä¿æ¤æå彿°) |
å¯»ä½ | |
| [è] |
è¥å®¹è®¸åä»¥ç¨æ·å®ä¹æ°ç»æ¿æ¢ç¼å²åº ( std::basic_streambuf<CharT,Traits> çèåä¿æ¤æå彿°) |
| [è] |
ç¨ç¸å¯¹å¯»åéå®ä½è¾å
¥åºåãè¾åºåºåæä¸¤è
ä¸çä¸ä¸ä½ç½®æé ( std::basic_streambuf<CharT,Traits> çèåä¿æ¤æå彿°) |
| [è] |
ç¨ç»å¯¹å¯»åéå®ä½è¾å
¥åºåãè¾åºåºåæä¸¤è
ä¸çä¸ä¸ä½ç½®æé ( std::basic_streambuf<CharT,Traits> çèåä¿æ¤æå彿°) |
| [è] |
å°ç¼å²ä¸å
³èçå符åºå忥 ( std::basic_streambuf<CharT,Traits> çèåä¿æ¤æå彿°) |
è·ååº | |
| [è] |
è¥å·²ç¥ï¼åè·å¾å
³èè¾å
¥åºåä¸å¯ç¨äºè¾å
¥çåç¬¦æ° ( std::basic_streambuf<CharT,Traits> çèåä¿æ¤æå彿°) |
| [è] |
ä»å
³èè¾å
¥åºå读åå符å°è·ååº ( std::basic_streambuf<CharT,Traits> çèåä¿æ¤æå彿°) |
| [è] |
ä»è¾å
¥åºå读åå符å°è·ååºï¼å¹¶ä»¤ä¸ä¸ä½ç½®æéåè¿ ( std::basic_streambuf<CharT,Traits> çèåä¿æ¤æå彿°) |
| [è] |
ä»è¾å
¥åºå读åå¤ä¸ªå符 ( std::basic_streambuf<CharT,Traits> çèåä¿æ¤æå彿°) |
| è¿åæåè·ååºèµ·å§ãå½ååç¬¦åæ«å°¾çæé (åä¿æ¤æå彿°) | |
| 令è¾åºåºåä¸çä¸ä¸ä½ç½®æéåè¿ (åä¿æ¤æå彿°) | |
| éå®ä½è¾åºåºåçèµ·å§ãä¸ä¸ä½ç½®åç»æ¢æé (åä¿æ¤æå彿°) | |
æ¾ç½®åº | |
| [è] |
å°å¤ä¸ªå符åå°è¾åºåºå ( std::basic_streambuf<CharT,Traits> çèåä¿æ¤æå彿°) |
| [è] |
仿¾ç½®åºåå
¥å符å°å
³èçè¾åºåºå ( std::basic_streambuf<CharT,Traits> çèåä¿æ¤æå彿°) |
| è¿åæåæ¾ç½®åºçèµ·å§ãå½ååç¬¦åæ«å°¾çæé (åä¿æ¤æå彿°) | |
| 令è¾åºåºåä¸çä¸ä¸ä½ç½®æéåè¿ (åä¿æ¤æå彿°) | |
| éå®ä½è¾åºåºåçèµ·å§ãä¸ä¸ä½ç½®åç»æ¢æé (åä¿æ¤æå彿°) | |
åæ¾ | |
| [è] |
å°å符æ¾åè¾å
¥åºåï¼å¯è½ä¿®æ¹è¾å
¥åºå ( std::basic_streambuf<CharT,Traits> çèåä¿æ¤æå彿°) |