1. sprintf 함수
#include <stdio.h>
int sprintf(char *buffer, const char *format, argument-list);
printf 함수와 같이 서식에 맞춰 출력한다.
다만 출력하는 위치가 모니터가 아닌 buffer 배열일 뿐이다.
그 외에는 모두 printf 함수와 동일하다.
반환값은 성공적으로 출력한 문자의 개수(NULL 문자 제외). 에러 발생 시 EOF를 반환한다.
이 함수의 특성 상 숫자 데이터를 문자열로 바꾸는 데에 유용하다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <stdio.h>
int main()
{
char str[200];
int num1 = 123;
double num2 = 3.1415;
sprintf(str, "%d", num1);
printf("정수 -> 문자열: %s\n", str);
sprintf(str, "%.2f", num2);
printf("실수 -> 문자열: %s\n", str);
sprintf(str, "%e", num2);
printf("실수 -> e 표기법 문자열: %s\n", str);
return 0;
}
|
cs |
서식에 맞춰 그대로 문자열 형태로 저장된다.
2. sscanf 함수
#include <stdio.h>
int sscanf(const char *buffer, const char *format, argument-list);
역시 scanf 함수와 모든 게 동일하나, 키보드가 아닌 buffer 에서 입력받는다는 점만 다르다.
반환값은 성공적으로 읽은 데이터의 개수.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include <stdio.h>
int main()
{
double num = 3.1415;
char str1[100];
char str2[100];
double result1;
double result2;
printf("tnum: %f\n", num);
sprintf(str1, "%f", num);
sscanf(str1, "%lf", &result1);
sprintf(str2, "%e", num);
sscanf(str2, "%le", &result2);
printf("result1: %f\n", result1);
printf("result2: %e\n", result2);
return 0;
}
|
cs |
서식에 맞춰 읽어온다.
'Programming > C' 카테고리의 다른 글
문자열을 숫자로 변환하는 함수 (0) | 2019.05.18 |
---|---|
문자열 비교 함수 (0) | 2019.05.14 |
문자열 길이 측정, 복사, 연결 함수 (0) | 2019.05.13 |
문자열 입출력 함수 (0) | 2019.05.07 |
문자 입출력 함수 (0) | 2019.05.05 |