stoi字串轉十進位制數越界問題

bbkkp發表於2024-07-04

原因

在專案開發過程中需要將字串轉化成十進位制數,起初沒有問題。但是在之後的開發過程中程式在執行時突然發生崩潰,由於沒有做異常處理,報錯資訊也不明顯。最後發現是因為某個字串轉化的字串轉化的十進位制數超過了int的範圍。

c++中各資料型別取值範圍

image

解決方法

改用stoll函式代替stoi,記得返回值不能是int型別,換成long long型別 ,不然會發生資料截斷,程式不會報錯,但結果大機率出現問題。

相關文章