strtol() 字串轉長整型函式

Quartz010發表於2016-10-16

有時間了,就謝謝簡單的,小程式,突然發現,想給main傳個參,但是*argv[]裡都是字串,可是需要一個整形的值。
基礎不好,小問題都折騰半天,最後用個指標,把ascii值做差,再按10的權值相加,折騰了好久。
今天,偶然機會,看到了strtol()這個函式,

他的左眼就是把,字串轉為長整型,(一把辛酸淚啊)

long int strtol(const char *nptr,char **endptr,int base);

這個是函式原型,nptr就是我們的字串,endptr是結束符(NULL就是\0),base是進位制數,預設的0(10進位制)

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char const *argv[])
{
    printf("the num is : %d", strtol(argv[1], NULL, 0));
    return 0;
}

最後就可以把傳入的數字字串,轉換為整形了!

相關文章