문자열을 숫자로, 숫자를 문자열로
: 아래 사용할 함수들에 대해 #include <stdlib.h> 를 사용한다.
문자열 → 숫자
atoi 정수형
: int atoi(char *string);
//string : 정수로 이뤄진 문자열
atof 실수형
: double atof(char *string);
//string : 실수로 이뤄진 문자열
예제(C언어)
1
2
3
4
5
6
7
8
9
10
11
12
|
#include <stdio.h>
#include <stdlib.h>
int main() {
int i = atoi("1234");
printf(" atoi(\"1234\") = %d\n", i);
double d = atof("1.234");
printf("\n atof(\"1.234\") = %lf\n", d);
return 0;
}
|
cs |
숫자 → 문자열
itoa 정수형 int
: char *itoa(int value, char *buffer, int radix)
//value : 문자열로 변경할 수
//buffer : 변경한 문자열을 저장할 버퍼
//radix : 진수(2진수, 8진수, 16진수)
ltoa 정수형 long
: char *ltoa(long value, char *buffer, int radix)
//value : 문자열로 변경할 수
//buffer : 변경한 문자열을 저장할 버퍼
//radix : 진수(2진수, 8진수, 16진수)
ultoa 정수형 unsigned long
: char *ultoa(unsigned long value, char *buffer, int radix)
//value : 문자열로 변경할 수
//buffer : 변경한 문자열을 저장할 버퍼
//radix : 진수(2진수, 8진수, 16진수)
예제(C언어)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
char buffer[100];
//itoa, 10진수
printf("<<itoa, 10진수>>\n");
int value1 = 1234;
itoa(value1, buffer, 10);
printf("buffer = %s\n", buffer);
for (int i = 0; i < strlen(buffer); i++)
printf("buffer[%d] = %c\n", i, buffer[i]);
//ltoa, 16진수
printf("\n<<ltoa, 16진수>>\n");
long value2 = 1234;
ltoa(value2, buffer, 16);
printf("buffer = %s\n", buffer);
//ultoa, 2진수
printf("\n<<ultoa, 2진수>>\n");
unsigned long value3 = 1234;
ultoa(value3, buffer, 2);
printf("buffer = %s\n", buffer);
return 0;
}
|
cs |
'프로그래밍 언어 > C, C++' 카테고리의 다른 글
[C언어] GNU readline 사용법 (1) | 2022.01.18 |
---|---|
[C/C++] atoi 구현 / 문자열을 숫자로 (11) | 2021.04.18 |
[C언어] 배열, 구조체의 원소 개수 구하기 / sizeof 사용법 (0) | 2020.11.13 |
[C/C++] 최대공약수 구하기 (0) | 2020.10.31 |
[C++] STL sort 정렬 사용하기(오름차순/내림차순) (0) | 2020.10.07 |