strtol函式用法

2021-08-28 23:32:14 字數 810 閱讀 6102

之前想用c寫md5函式用法,中間設計大量進製轉換的內容,於是就查到了strtol這個函式

但是發現之前對其認識上有一些偏頗,所以把它的用法記錄下來

strtol是乙個c語言函式,作用就是將乙個字串轉換為長整型long,其函式原型為

long int strtol (const char* str, char** endptr, int base);
str是要轉換的字元

enptr是指向第乙個不可轉換的字元位置的指標

base的基數,表示要轉換的是幾進製的數

這裡有幾個注意點:

首先它最終轉換的結果是十進位制的數字

其次這裡的base指的是str字元中你要轉換的是那些東西

即若base為2,並不代表你把str裡的東西轉化為二進位制,而是你的str中為"0" "1"的字元才是有效的。

可以看乙個例子:

long int number;

char heihei = "010345e10101";

number = strtol(heihei,null,2);

printf("%ld\n", number);

其結果為:

即其只掃瞄到了010,然後把010作為二進位制轉化為10進製,後面的345e都為非法字元,都不能進行轉換。

strtol 函式用法

strtol是乙個c語言函式,作用就是將乙個字串轉換為長整型long,其函式原型為 long int strtol const char str,char endptr,int base 下面我們來看下每個引數的意義 str是要轉換的字元 enptr是指向第乙個不可轉換的字元位置的指標 base的基...

strtol 函式用法

strtol是乙個c語言函式,作用就是將乙個字串轉換為長整型long,其函式原型為 long int strtol const char str,char endptr,int base 下面我們來看下每個引數的意義 str是要轉換的字元 enptr是指向第乙個不可轉換的字元位置的指標 base的基...

strtol 函式用法

strtol是乙個c語言函式,作用就是將乙個字串轉換為長整型long,其函式原型為 long int strtol const char str,char endptr,int base 下面我們來看下每個引數的意義 str是要轉換的字元 enptr是指向第乙個不可轉換的字元位置的指標 base的基...