POST

C언어 문자열을 정수와 실수로 변환하자

프로그래밍을 하다보면 입력받은 문자열로 표현된 숫자의 값을 해당 정수나 실수의 데이터로 변환해야하는 경우가 생긴다.


설명할 세가지 함수들은 헤더파일 <stdlib.h>에 선언된 함수이며, 이 함수들은 문자열"123"을 정수 123으로 또는 문자열 "12.34"를 실수 12.34로 바꿀때 쓰인다.


int atoi(문자열 또는 변수); - 문자열의 내용을 int형으로 변환

long atol(문자열 또는 변수); - 문자열의 내용을 long형으로 변환

double atof(문자열 또는 변수); - 문자열의 내용을 double형으로 변환


아래의 코드를 작성하여 테스트 하여보자.


#include<stdio.h>

#include<stdlib.h>

#pragma warning(disable:4996) // scanf 보안 경고 제거용



int main(void) {

char str[20];


/*** 정수로 변환 ***/

printf("정수 입력: ");

scanf("%s", str);

printf("%d \n", atoi(str));


/*** 실수로 변환 ***/

printf("실수 입력: ");

scanf("%s", str);

printf("%g \n", atof(str));

return 0;

}



위의 코드는 사용자로부터 문자열로 입력받아 정수와 실수로 출력하는 것이다.


자료형 - 바로가기