C學習筆記之atoi 與strtol

2021-04-24 12:46:18 字數 765 閱讀 4391

這兩個函式我十分陌生,當《c primer plus》裡出現這題時:使用字元分類函式實現atoi();

我上網查了好久,其實並沒有理解清楚它的存在有什麼意義,是想方便地取出字串裡的數字嗎?我以為是。於是去看了很多**,很多**都是這樣定義:char a="15264";

字元陣列裡的元素都是數字符號。所以我以為是想什麼時候可以更方便的把裡面的字元狀態的數字取出來吧。

於是我寫了這樣乙個函式:

#include

#include

int main(void)

char a[10]=;

char *p;

int i;

for(i=0;i<9;i++)

a[i]=getche();

a[i]='/0';

printf("%d/n",strtol(a,&p,10));

printf("%s/n",p);

return 0;

我並不知道如何將字元轉換為數字,於是繼續上google查,查到strtol()這個函式,它的定義如下;

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

base確定了輸出 的合法範圍,例如,如果base=2;合法範圍是'0''1';base=10;合法範圍是'0' '1' '2' '3' '4' '5'……'9',粗俗一點地理解,base確定了字元陣列中元素的進製型,而輸出時轉換為int 。

但還是不太理解。

儲存類、鏈結、記憶體管理

C 學習筆記之invoke與BeginInvoke

invoke與begininvoke的兩種使用情況 1.control中的invoke begininvoke 2.delegrate中的invoke begininvoke 這兩種情況是不同的,這裡主要介紹第一種。dotnet中對invoke和begininvoke的官方定義如下 control....

C 學習筆記之容器

list 和 vector 2者都屬於容器,但list只有雙向迭代器,而vector卻有隨機訪問迭代器 迭代器的種類 前向迭代器 forward iterator 可對迭代器進行 操作雙向迭代器 bidirectional iterator 可對迭代器進行 和 操作隨機訪問迭代器 random ac...

C 學習筆記之異常

程式執行中需要處理異常 異常處理方法一 異常處理方法二 c 異常處理機制 異常處理基礎 例子1 除數為零的異常處理 ex17 1.cpp 除數為零的異常例子 include include using namespace std 定義異常類myexception class myexception ...