C 함수.
sprintf 함수를 이용해 정수, 실수, 문자, 문자열등의 데이터를
하나로 연결시켜보자 !!
해당 예제는 sprintf 함수의 사용 방법을 알아보는 예제 입니다.
소스 및 설명.
#include
#include // os 마다 특성이 조금씩 달라서 추가하지 않아도 되는 분도 있을거에요~ ( string.h ) int main() { char str[50]; // 다양한 데이터 형식을 하나로 연결할때 사용할 문자열 str 선언. int n = 100; // 정수형 데이터 char c = '1'; // 문자 데이터 char ch[5] = "50"; // 문자열 데이터 double d = 1.5; // 실수형 데이터 memset(str, 0x00, sizeof(str)); // str 이라는 변수안의 값을 모두 0x00( 널 ) 으로 초기화 sprintf(str, "%d %c %s %.2lf", n, c, ch, d); /* sprintf 함수를 통한 정수, 문자, 문자열, 실수 형태의 데이터를 공백 문자 하나씩을 띄어주며 하나로 연결해줍니다. */ printf("[%s]\n", str); // 출력해볼까요 ~ return 0; }
자~ 소스를 이렇게 작성하고~ 컴파일 한뒤 실행을 해보면 ?
출력 결과 : [100 1 50 1.50]
출력이 위와같이 나오게 됩니다.
sprintf 의 기능을 좀더 쉽게 생각하자면 scanf 함수나 fprintf 함수와 비슷하다고 보시면 됩니다.
우리가 scanf 함수를 통해 사용자로부터 입력 받은 값을 데이터에 저장을 하기도 하고~
fprintf 함수를 통해 내가 출력하고자 하는 내용을 파일안에 출력을 해주듯이
우리는 sprintf 함수를 통해 각 변수안의 있는 내용을 원하는 저장공간( char 배열 )에 그대로~ 저장( 출력 )을 할수가 있습니다.
그리고 해당 데이터들은 모두 char 배열 안에 문자의 형태로 저장이 됩니다.
예제에서 나온것처럼 int 형이든..double 이든..무조건 말이죠.
사용 방법은 매우 간단 합니다.
인자값은 크게 3가지 입니다.
첫번째 !! 저장할 문자열 변수의 주소지. ( 데이터를 저장하고싶은 char 배열의 주소지 )
두번째 !! 저장하고자 하는 데이터의 형식.
세번째 !! 자신이 입력한 형식에 들어갈 변수명.
이렇게 3가지의 인자값을 주면 친절하게 제가 기입해둔 첫번째 인자값에 모두 들어가 있는걸
확인하실수 있을겁니다.
sprintf 는 주로 파싱을 할때 쓰이기도 하고, 다양한 내용을 한번에 출력해서 보여주고자 할때
편의를 위해 사용하기도 하며~
비슷한 함수로는 snprintf 함수가 있어요 ~
sprintf 함수와 snprintf 함수는 사용방법이 거의 흡사하지만
굉장히 중요한 차이점이 있는데
이건 전에 포스팅을 한적이 있어서 링크 걸어드릴게요 ~
사용하실일이 있다면 한번쯤 읽어보세요 ~
( 링크 : http://ycswarm.tistory.com/23 sprintf 와 snprntf 의 차이점 )
'C/C++ > [C] 함수' 카테고리의 다른 글
[C 함수] 문자열 비교 함수. strcmp, strncmp (0) | 2015.02.26 |
---|---|
[C 함수] strtok 함수를 이용한 문자열 검색. (0) | 2015.02.05 |
[C 함수] stat 함수를 이용한 FILE SIZE 받아오기. (0) | 2015.02.02 |
[C 함수] memset 함수. (0) | 2014.05.28 |