[C] atoi 사용법
C에서 atoi 함수를 쓰던 와중 의문이 생겼다.
atoi(2019.txt)를 했더니 2019가 반환된 것이다.
왜 그런지 알아보자.
atoi 함수란
atoi 함수는 기본적으로 char to int, 문자열을 정수타입으로 바꾸는 함수이다.
#include <stdlib.h>를 해야 사용할 수 있다.
#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
Author And Source
이 문제에 관하여([C] atoi 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kyliecamila/C-atoi-사용법저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)