關於boost中數據類型轉化問題

遇到一個問題,string轉換爲 int。利用 boost 庫文件。

 

報錯catch異常爲:

 


IEXPLORE.EXE 中的 0x7c812a6b 處未處理的異常: Microsoft C++ 異常: 內存位置 0x0012d5c8 處的 boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::bad_lexical_cast> >。

 

爲何異常,原因如下:

 

string -> int  
1.string 裏面必須是 數字 否則會異常
比如 string a("123") 可以
string a("df34") 不可以
2.你既然是想轉換程int 就必要拿int型來接受
nFileId =
boost::lexical_cast<int>(m_strFileId);改爲
int b =
boost::lexical_cast<int>(m_strFileId)

滿足這2點則無拋出異常

感謝這位同學:http://hi.csdn.net/linsen_519。

發佈了65 篇原創文章 · 獲贊 7 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章