遇到一個問題,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。