strtol函式引數詳解

2021-08-20 16:15:22 字數 412 閱讀 8830

long int strtol(const char *nptr, char **endptr, int base);為什麼第二個引數不用初始化只用定義乙個未初始化的char 型別的指標即可???

strtol是atoi的增強版,引數base範圍從2至36,或0。引數base代表採用的進製方式,0/10是十進位制

1. endptr是乙個傳出引數,函式返回時指向後面未被識別的第乙個字元。例如char *pos; strtol("123abc", &pos, 10);

strtol返回123,pos指向字串中的字母a。

2. 如果字串開頭沒有可識別的整數,例如char *pos; strtol("abcabc", &pos, 10);

則strtol返回0,pos指向字串開頭,可以據此判斷這種出錯的情況,而這是atoi處理不了的

strtol函式詳解

long int strtol const char nptr,char endptr,int base 這個函式會將引數nptr字串根據引數base來轉換成長整型數。引數base範圍從2至36,或0。引數base代表採用的進製方式,如base值為10則採用10進製,若base值為16則採用16進製...

C C 之strtol函式詳解

翻了翻舊 發現以前對strtol這個函式不太了解,特此分析一下。c 庫函式strtol原型為 long int strtol const char str,char endptr,int base 其執行過程為 把引數str所指向的字串根據給定的base轉換為乙個長整數 型別為 long int 型...

strtol函式用法

之前想用c寫md5函式用法,中間設計大量進製轉換的內容,於是就查到了strtol這個函式 但是發現之前對其認識上有一些偏頗,所以把它的用法記錄下來 strtol是乙個c語言函式,作用就是將乙個字串轉換為長整型long,其函式原型為 long int strtol const char str,cha...