1. 程式人生 > >char字串轉double浮點函式——strtod

char字串轉double浮點函式——strtod

最近在編寫通訊協議解碼程式時需要把char字串轉換為double雙精度字串。本想自己寫段字數型別轉換的程式,就網上看看大家遇到這類問題都是採取怎樣的處理方式。經過一番搜尋,發現函式strtod可以實現這一功能。

      使用函式strtod之前需要先新增標頭檔案#include <stdlib.h>。strtod的原型如下:

double strtod (constchar* str, char** endptr)

       引數中,str為要轉換的字串的地址,endptr 為第一個不能轉換的字元的指標。轉換後的結果作為返回值返回。在轉換過程中strtod會自動掃描str字串,跳過前面的空白字元比如空格、tab等,直到掃描到數字、正負號才開始進行轉換,直到檢測到不符合轉換條件的字元時終止轉換,並把不符合轉換條件的字元指標由endptr返回,如果endptr為NULL,則引數endptr不使用。

      下面舉一個例子例子說明一下。分別定義兩個字串test和str,然後使用strtod把這兩個字串轉換為double型資料d1和d2。通過模擬測試,可以看到strtod確實達到了我們期望的目的。