1. atoi, atof
atoi 함수는 문자열을 정수로 바꿔주고, atof 함수는 실수로 바꿔준다.
#include <stdio.h>
#include <stdlib.h>
int main()
{
char* s1 = "12345";
char* s2 = "0.3245";
int num1; // 바뀐 수를 넣어줄 변수 선언
float num2;
num1 = atoi(s1); // atoi 함수를 사용해 정수로 변환해준다.
num2 = atof(s2); // atof 함수를 사용해 실수로 변환해준다.
printf("%d\n%0.4f", num1, num2);
return 0;
}
2. strtol, strtof
strtol 함수는 문자열을 10진수나 16진수로 변환해주고, strtof 함수는 문자열을 실수로 변환해준다. 지수표기법으로 표시된 수 또한 가능하다.
#include <stdio.h>
#include <stdlib.h>
int main()
{
char* s1 = "0xaf10 16 0.6732";
int num1, num2; // 문자열에서 잘라낸 부분을 저장할 변수
float num3;
char* end; // 이전 숫자의 끝 부분을 저장할 포인터
num1 = strtol(s1, &end, 16); // 16진수면 16, 10진수면 10을 넣어준다.
num2 = strtol(end, &end, 10);
num3 = strtof(end, NULL); // 끝 부분에서는 NULL 값을 넣어준다.
printf("0x%x\n%d\n%f", num1, num2, num3);
return 0;
}
3. sprintf
sprintf 함수는 실수, 정수를 문자열로 변환해준다. 변수의 형태에 따라 괄호 안의 서식 지정자를 바꿔준다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
char s1[30]; // 문자열을 저장해줄 배열
int num1 = 30;
sprintf(s1, "%d", num1); // 배열에 지정된 형식의 변수를 문자열 형태로 저장한다.
printf("%s", s1);
return 0;
}
'C_study' 카테고리의 다른 글
[C] 코딩도장 58 : 자료형 변환하기 (0) | 2021.07.31 |
---|---|
[C] 코딩도장 57 : 열거형 사용하기 (0) | 2021.07.30 |
[C] 코딩도장 56 : 구조체 비트 필드 사용하기 (0) | 2021.07.29 |
[C] 코딩도장 54-55 : 구조체와 공용체 사용하기 (0) | 2021.07.28 |
[C] 프로그래머스 - 문자열을 정수로 바꾸기 (0) | 2021.07.19 |