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::strstreambuf
std::strstreambuf
std::strstreambuf æ¯å
³èå符åºå为å符æ°ç»ç std::basic_streambuf ï¼è¯¥æ°ç»å¯ä¸ºå¸¸éï¼ä¾å¦å符串åé¢éï¼ãå¯ä¿®æ¹ä½é卿æå¨æï¼è¯¥æ
åµä¸å¯ä»¥å
许 std::strstreambuf éåé
æ°ç»ä»¥éåºè¾åºï¼ä¾å¦éè¿è°ç¨ delete[] å new[] æç¨æ·æä¾å½æ°ï¼ã
std::strstreambuf çå
¸åå®ç°ä¿æåä¸ªç§ææ°æ®æåï¼
1) ç¼å²åºç¶æï¼ä¸ºä½æ©ç ç±»åï¼è½è¡¨ç¤ºå个å¼âå·²åé
âï¼ææå½æ°å°è§£åé
ï¼ãâ常éâï¼ä¸å
许è¾åºï¼ãâ卿âï¼è¾åºå°è§£åé
ï¼æâå»ç»âï¼ä¸å
许解åé
åéåé
ï¼çä»»ä½ç»åï¼
2) åé
çç¼å²åºå¤§å°ï¼ç¼å²åºçèµ·ç¹ä¸å¿
æ¯ç¹å«çæ°æ®æåï¼å®å¯åå¨äºç»§æ¿çæé eback() ï¼ï¼
3) æåç¨æ·æä¾çåé
彿°çæéï¼
4) æåç¨æ·æä¾çè§£åé
彿°çæéã
注æ
å¨ä»»ä½ä»¥å¨æç¼å²åºå¨æµä¸è°ç¨ str() åï¼è¦æ±è°ç¨ freeze(false) 以å
许 strstreambuf çææå½æ°å¨éè¦æ¶è§£åé
ç¼å²åºã
æå彿°
å ¬å¼æå彿° | |
| æé strstreambuf 对象 (å ¬å¼æå彿°) | |
| [è] |
鿝 strstreambuf 对象ï¼å¯éå°è§£åé
å符æ°ç» (èå ¬å¼æå彿°) |
| 设置/æ¸
é¤ç¼å²åºçå»ç»ç¶æ (å ¬å¼æå彿°) | |
| æ è®°ç¼å²ä¸ºå»ç»å¹¶è¿åè¾å
¥åºåçèµ·å§æé (å ¬å¼æå彿°) | |
| è¿åè¾åºåºåä¸ä¸ä¸ä½ç½®æéåèµ·å§æéï¼åå
¥åç¬¦æ° (å ¬å¼æå彿°) | |
åä¿æ¤æå彿° | |
| [è] |
ä»è¾å
¥åºå读åä¸ä¸ªå符èä¸åè¿ä¸ä¸ä½ç½®æé (èåä¿æ¤æå彿°) |
| [è] |
åéè¾å
¥åºå以åè·åä¸ä¸ªå符 (èåä¿æ¤æå彿°) |
| [è] |
åéå符å°è¾åºåºåï¼å¯è½éåé
æåå§å°åé
ç¼å²åºï¼è¥å®ä¸ºå¨æä¸æªè¢«å»ç» (èåä¿æ¤æå彿°) |
| [è] |
è¯å¾ä»¥æ°ç»æ¿æ¢åæ§å¶å符åºå (èåä¿æ¤æå彿°) |
| [è] |
ç¨ç¸å¯¹å¯»åé寻ä½è¾å
¥åºåãè¾åºåºåæä¸¤è
ä¸çä¸ä¸ä½ç½®æé (èåä¿æ¤æå彿°) |
| [è] |
ç¨ç»å¯¹å¯»åé寻ä½è¾å
¥åºåãè¾åºåºåæä¸¤è
ä¸çä¸ä¸ä½ç½®æé (èåä¿æ¤æå彿°) |
ç»§æ¿èª 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> çèåä¿æ¤æå彿°) |