c語言string轉int
Ⅰ C語言中,字元串怎麼轉換為int數組
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<conio.h>
voidmain(){
intexc_n(charch[]);intpnum=0;
do{//套用了我之前寫的一個轉換函數,輸出有點勉強。。。(固定輸出頭0x0...)
charch[10]={0};charspr[2]={0};//分隔輸入
printf("inputthestringofnum. 不得不說下,每次輸入一個數據,按'x'可以結束程序 ");
scanf("%s",&ch);
printf("0x0%x ",pnum=exc_n(ch));
//printf("%x",pnum);
}while(getch()!='x');
}
//該函數將字元串型數字與整型數字單向轉換
intexc_n(charch[]){//,longlnum){
intsize=0;intnum=0;
if(sizeof(ch[0])>0)
size=strlen(ch);inti=0;
while(size>=0){
if(ch[size]>47&&ch[size]<58){num=num+(ch[size]-48)*(int)pow(10,i++);
}
size--;
//
}
returnnum;
}
Ⅱ c怎麼將string轉換成int
首先感謝幾位知乎老兄指教,這篇文章發過一次,題目為C++ atoi關鍵字,確實是自己錯了,敬師不到,學藝不精,謝謝各位指教。因為工作需要,學起C++之所以在知乎發文章,只是想記錄一下自己的學習筆記,給自己點兒結果反饋,促進學習。有些地方有待斟酌甚至錯誤,以免誤人子弟,請各位多指教,即使是嘲笑和鄙視鄙人也很能接受,並且萬分感謝!
作用
atoi()函數將數字格式的字元串轉換為整數類型。例如,將字元串1253124127轉換成數字1253124127。
注意
首要注意
atoi函數可以轉化如下這種字元串 1fdafhdjfhkas
關於參數的注意事項
,atoi()函數的參數是要轉換的字元串。該字元串的格式為
[空格][符號][數字]
其中,空格可以是鍵盤中的空格字元或者是Tab字元;符號可以是表示正數的「+」,也可以是表示負數的「-」;數字即為數字字元串。所以,atoi()函數參數可以是
+123
-456
需要注意的是,空格和「+」可以省略。所以,atoi()函數參數還可以是
123
-456
關於返回值的注意事項
如果atoi()函數轉換成功,則該函數的返回值是轉換後的整型。如果atoi()函數轉換失敗,例如要轉換的類型超過了int表示的范圍,如果要轉換的是正數,則返回INT_MAX(2147483647),如果要轉換的是負數,則返回INT_MIN(-2147483648)。代碼如下所示
調用方法
//該函數的格式為
int atoi(const char* str)
//其中,參數str是要轉換的字元串,返回值是轉換後的整數。
int main(){
const char* str1="12493265713256"
const char* str2="8fdafhdjfhkas"
int outNm=atoi(str1)
}