[C]atoiの使い方

5102 ワード

Cでatoi関数を使うときに疑問が生じた.
atoi(2019.txt)をした後、2019はまた復帰した.
なぜかを調べてみましょう.

atoi関数とは


atoi関数は基本的にchar to intであり,文字列を整数型の関数に変換する.
#include のみ使用できます.
#include <stdio.h>
#include <stdlib.h>

int main(){
int num = 0;
char myString[20] = "2019";

printf("string = %s\n",myString);
//2019 출력
num = atoi(myString);
printf("int = %d\n",num);
//2019 출력

char str1[]="testing";
char str2[]="2019";
char str3[]="2021testing";
char str4[]="testing2022";

printf("int = %d\n",atoi(str1));
//0
printf("int = %d\n",atoi(str2));
//2019
printf("int = %d\n",atoi(str3));
//2021
printf("int = %d\n",atoi(str4));
//0
}
atoi("文字")->初めて文字が表示され、0を返します.
atoi(「数値」->「数値を返す」
atoi(「数値+文字」)->文字が表示されるまで数値を返します
atoi("文字+数字")->すぐに0文字を返します
すなわち,atoi関数は,パラメータとして入力された文字列を前から読み出し,非数値文字が出現するまで数値に変換する関数である.참고자료https://blockdmask.tistory.com/331