살구월드

잠깐, 리눅스, C 언어, Java, Python 등
각종 예제 검색하기


C언어에서 fprintf 함수는 파일에 데이터를 출력하는 데 사용되는 중요한 함수입니다.
오늘은 이 함수를 이용한 예제를 확인해 보도록 하겠습니다.

우선 fprintf 함수 원형을 살펴보겠습니다.

 

파일에 문자열을 작성해보자

 

 

fprintf 함수원형


fprintf 함수의 함수 원형과 각 인자에 대한 설명은 다음과 같습니다

int fprintf(FILE *stream, const char *format, ...);



각 인자들은 아래와 같습니다.

 

함수인자

 

stream: 파일 포인터로, 데이터를 쓸 파일을 가리키는 FILE 구조체에 대한 포인터
format: 형식 지정자를 포함한 문자열로, 출력할 데이터의 서식
...: 가변 인자 (variadic arguments)로, format 문자열에서 사용된 형식 지정자에 해당하는 값




 

파일에 문자열 쓰기 예제

 

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "w");
    if (file != NULL) {
        fprintf(file, "Hello, World!");
        fclose(file);
    }
    return 0;
}

 

 

 

위의 예제와 같이 새로운 파일을 만들고 그 안에 fprintf 함수를 이용하여 문자열을 작성할 수 있습니다.
이처럼 파일 핸들과 저장하고 싶은 내용을 fprintf로 전달합니다.


 

정수의 변수 값을 포멧을 이용하여 파일에 쓰는 예제

 

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "w");
    if (file != NULL) {
        int number = 10;
        fprintf(file, "The number is: %d", number);
        fclose(file);
    }
    return 0;
}



 

위 예제는 포멧을 이용한 예제입니다.


우리가 흔히 printf는 그냥 출력할 수도 있지만, 일반적으로는 포맷을 이용합니다.
정수, 문자열 등 여러 포멧이 가능합니다.
마찬가지로 fprintf도 정수 포맷으로 정수값을 파일에 쓸 수 있습니다.


fprintf는 문자열을 쉽게 파일에 쓸 수 있도록 도와준다.

 

 

여러 줄에 걸쳐 데이터 쓰기 예제

 

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "w");
    if (file != NULL) {
        fprintf(file, "This is line 1.\n");
        fprintf(file, "This is line 2.\n");
        fprintf(file, "This is line 3.\n");
        fclose(file);
    }
    return 0;
}



 

만약 한 줄의 문자열이 아닌 여러줄을 파일에 쓰고 싶다면 fprintf를 여러 본 호출하면 됩니다.
한번 호출하고 다음 호출 시에는 자연스럽게 이전 쓴 마지막 위치부터 새로운 문자열을 추가합니다.


 

파일에 실수 값 쓰기 예제

 

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "w");
    if (file != NULL) {
        double pi = 3.14159;
        fprintf(file, "The value of pi is: %f", pi);
        fclose(file);
    }
    return 0;
}



 

포맷기능을 이용하면 위와 같이 정수뿐만 아니라 실수의 값도 파일에 저장할 수 있습니다.
물론, 이경우 실수는 문자열로 치환되어 저장됩니다.

 

오늘은 stdio.h의 fprintf에 대해 알아보았습니다.
printf는 콘솔이나 화면에 출력하기 위함이라면 fprintf는 파일에 데이터를 쓸 때 사용한다는 것을 알 수 있었습니다.

잠깐, 리눅스, C 언어, Java, Python 등
각종 예제 검색하기

공유하기

facebook twitter kakaoTalk kakaostory naver band