本文實例講述了C語言實現將字符串轉換為數字的方法。分享給大家供大家參考。具體實現方法如下:
C語言提供了幾個標準庫函數,可以將字符串轉換為任意類型(整型、長整型、浮點型等)的數字。以下是用atoi()函數將字符串轉換為整數的一個例子:
下列函數可以將字符串轉換為數字:
------------------------------------------------------------------------
函數名 作 用
------------------------------------------------------------------------
atof() 將字符串轉換為雙精度浮點型值
atoi() 將字符串轉換為整型值
atol() 將字符串轉換為長整型值
strtod() 將字符串轉換為雙精度浮點型值,并報告不能被轉換的所有剩余數字
strtol() 將字符串轉換為長整值,并報告不能被轉換的所有剩余數字
strtoul() 將字符串轉換為無符號長整型值,并報告不能被轉換的所有剩余數字
------------------------------------------------------------------------
將字符串轉換為數字時可能會導致溢出,如果你使用的是strtoul()這樣的函數,你就能檢查這種溢出錯誤。請看下例:
在上例中,要轉換的字符串太長,超出了無符號長整型值的取值范圍,因此,strtoul()函數將返回ULONG_MAX(4294967295),并使。char leftover指向字符串中導致溢出的那部分字符;同時,strtoul()函數還將全局變量errno賦值為ERANGE,以通知函數的調用者發生了溢出錯誤。函數strtod()和strtol()處理溢出錯誤的方式和函數strtoul()完全相同,你可以從編譯程序文檔中進一步了解這三個函數的有關細節。
希望本文所述對大家的C語言程序設計有所幫助。
|
新聞熱點
疑難解答
圖片精選