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_stringbuf
std::basic_stringbuf
  class CharT,
  class Traits = std::char_traits<CharT>,
  class Allocator = std::allocator<CharT>
std::basic_stringbuf æ¯å
³èå符åºå为å
å常驻çä»»æå符åºåç std::basic_streambuf ãè½ä» std::basic_string çå®ä¾åå§åå®ï¼æå°å®åæè¯¥ç±»çå®ä¾ã
std::basic_stringbuf çå
¸åå®ç°ä¿æä¸ä¸ª std::basic_string ç±»åå¯¹è±¡ï¼æçä»·çå¯ä¼¸ç¼©åºå容å¨ä½ä¸ºæ°æ®æåï¼å¹¶å°å®åæ¶ç¨ä½åæ§å¶å符åºåï¼ä¸º std::basic_streambuf çå
个æéææåçæ°ç»ï¼åå
³èå符åºåï¼ææè¾å
¥æä½çå符æºåè¾åºæä½çç®æ ï¼ã
å¦å¤ï¼å ¸åçå®ç°ä¿æä¸ä¸ª std::ios_base::openmode ç±»åçæ°æ®æåï¼ä»¥æç¤ºæµçç¶æï¼åªè¯»ãåªåã读åã尾端åçï¼ã
|
è¥ overflow() 使ç¨è¿åé çç¥ï¼åå¯åå¨å¦å¤ç髿°´ä½æéï¼ä»¥è·è¸ªæååå§åçå符ã |
(C++11 èµ·) |
亦æä¾äºä¸ªå¯¹å¸¸ç¨å符类åçç¹åï¼
| å®ä¹äºå¤´æä»¶
<sstream> | |
| Â | |
| ç±»å | å®ä¹ |
stringbuf
|
basic_stringbuf<char> |
wstringbuf
|
basic_stringbuf<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 |
allocator_type (C++11 èµ·)
|
Allocator |
æå彿°
å ¬å¼æå彿° | |
| æé ä¸ä¸ª basic_stringbuf 对象 (å ¬å¼æå彿°) | |
| (C++11) |
èµå¼ basic_stringbuf 对象 (å ¬å¼æå彿°) |
| (C++11) |
交æ¢äºä¸ª basic_stringbuf 对象 (å ¬å¼æå彿°) |
| (ææå½æ°) [è] (éå¼å£°æ) |
ææ basic_stringbuf 对象åå
¶æä¿æç string (èå ¬å¼æå彿°) |
| æ¿æ¢æè·å¾å
³èå符串ç坿¬ (å ¬å¼æå彿°) | |
| (C++20) |
è·å¾ä¸å
é¨ basic_string å
³èçåé
å¨ç坿¬ (å ¬å¼æå彿°) |
| (C++20) |
è·å¾åºå±å符åºåä¸çè§å¾ (å ¬å¼æå彿°) |
åä¿æ¤æå彿° | |
| [è] |
è¿åè¾å
¥åºåä¸å¯ç¨çä¸ä¸å符 (èåä¿æ¤æå彿°) |
| [è] |
åæ¾å符å°è¾åºåºåä¸ (èåä¿æ¤æå彿°) |
| [è] |
åéå符å°è¾åºåºå (èåä¿æ¤æå彿°) |
| [è] |
è¯å¾ä»¥æ°ç»æ¿æ¢åæ§å符åºå (èåä¿æ¤æå彿°) |
| [è] |
ç¨ç¸å¯¹å¯»åï¼éå®ä½è¾å
¥åºåãè¾åºåºåæä¸¤è
ä¸çä¸ä¸ä½ç½®æé (èåä¿æ¤æå彿°) |
| [è] |
ç¨ç»å¯¹å¯»åï¼éå®ä½è¾å
¥åºåãè¾åºåºåæä¸¤è
ä¸çä¸ä¸ä½ç½®æé (èåä¿æ¤æå彿°) |
éæå彿°
| ç¹å 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> çèåä¿æ¤æå彿°) |