stringstream 的.str()正確用法和清空操作
轉載自:http://dewei.iteye.com/blog/1940786
streamstring在呼叫str()時,會返回臨時的string物件。而因為是臨時的物件,所以它在整個表示式結束後將會被析構。
如果需要進一步操作string物件,先把其值賦給一個string變數後再操作。
stringstream ss("012345678901234567890123456789012345678901234567890123456789");
//錯誤用法
const char* cstr2 = ss.str().c_str();
//正確用法
const string& str2 = ss.str();
const char* cstr2 = str2.c_str();
使用stringstream時的清空操作
在C++中可以使用stringstream來很方便的進行型別轉換,字串串接,不過注意重複使用同一個stringstream物件時要 先繼續清空,而清空很容易想到是clear方法,而在stringstream中這個方法實際上是清空stringstream的狀態(比如出錯等),真 正清空內容需要使用.str("")方法。
在C++中可以使用stringstream來很方便的進行型別轉換,字串串接,不過注意重複使用同一個stringstream物件時要先繼續清空,而清空很容易想到是clear方法,而在stringstream中這個方法實際上是清空stringstream的狀態(比如出錯等),真正清空內容需要使用.str(“”)方法。
相關文章
- 上帝與集合的正確用法
- Webview清空歷史紀錄的正確姿勢WebView
- C#中dynamic的正確用法C#
- JS 繼承的正確操作JS繼承
- 【轉】C#中dynamic的正確用法C#
- Python 中 Unicode 的正確用法PythonUnicode
- [譯]JavaScript async / await:好處、坑和正確用法JavaScriptAI
- Python 操作 MySQL 的正確姿勢PythonMySql
- [Slow log]正確安全清空線上慢查詢日誌slow log的流程
- Laravel str 字串操作Laravel字串
- python資料庫連線池的正確用法Python資料庫
- char str[]和char *str的區別
- 從getApplicationContext和getApplication再次梳理Android的Application正確用法APPContextAndroid
- [MySQL Slow log]正確安全清空線上慢查詢日誌slow log的流程MySql
- Golang中如何正確的使用sarama包操作Kafka?GolangKafka
- StringBuilder在高效能場景下的正確用法UI
- python str.format高階用法PythonORM
- 如何正確理解棧和堆?
- 如何正確配置 Nginx 和 PHPNginxPHP
- String str=null; 和String str=""的區別Null
- Git和GitHub的正確開啟姿勢Github
- 正確使用 Android 的 Theme 和 StyleAndroid
- 正確使用Github 的方法 + Git 和 GitHub 教程和技巧Github
- RoR的正確定位
- 前端工作流編譯正確操作流程和錯誤處理記錄前端編譯
- 這才是開啟風變程式設計的正確操作方式程式設計
- GIT使用rebase和merge的正確姿勢Git
- 正確理解和使用JAVA中的字串常量池Java字串
- 如何正確理解「指標」和「標籤」指標
- 理解並正確使用synchronized和volatilesynchronized
- 正確使用Block避免Cycle Retain和CrashBloCAI
- 怎麼正確使用掃路車?掃路車的操作步驟
- 正確使用 iOS 開發中的六大操作手勢iOS
- PHP Opcache 的正確使用PHPopcache
- 正確的equals實現
- LongTree的正確分析理解
- 使用隨身碟和USB硬碟的正確方法(轉)硬碟
- ORACLE 【字符集正確設定及相關操作】_41Oracle