使用strtol 偵測字串到長整型轉換中的錯誤
在C 程式設計中,strtol 函數通常用於轉換a 的函數通常用於轉換a 的函數字串表示形式長整數為其數值。然而,單獨使用 strtol 可能無法總是提供足夠的錯誤處理。
問題:
提供的程式碼示範了程式正確將字串轉換為長整數的場景,但也會列印錯誤訊息,指出「儘管轉換成功,但無法轉換」。這是因為程式假設如果 strtol 成功轉換字串,則第二個參數(表示剩餘字串)應該為 NULL。但是,即使轉換成功,某些條件也可能導致非 NULL 剩餘字串出現。
解決方案:
要準確檢測strtol 中的錯誤,請考慮以下改進:
修訂的函數:
修訂後的函數傳回一個使用布林值來指示轉換是否成功或不是。您可以如下使用它:
附加說明:您可以進一步自訂該函數來處理空白修剪或限制轉換為僅十進制值。
以上是在 C 中使用 strtol 將字串轉換為長整數時如何可靠地偵測錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!