블로그 내에서 다른 포스팅 검색하기기
검색어를 입력해주세요

 

C언어에서 fputs 함수는 문자열을 파일에 쓰는 데 사용되는 함수입니다.
우리가 이전 포스팅에서 확인한 fprintf도 파일에 데이터를 쓰는 함수이지만 fputs도 동일합니다.

 

2023.07.20 - [C/stdio] - [C언어/C++] fprintf 함수를 활용한 파일 쓰기

 

[C언어/C++] fprintf 함수를 활용한 파일 쓰기

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

salguworld.tistory.com


함수의 맨 앞 f 알파벳이 붙는 이유는 file을 핸들링하는 함수이기 때문입니다.
자 그러면 fputs 함수원형부터 확인해 보도록 하겠습니다.

 

파일에 문자열을 옮기는 방법은 여러가지구나..

 

 

fputs 함수원형


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

int fputs(const char *str, FILE *stream);



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

 

함수인자

 

str: 출력할 문자열입니다.
stream: 파일 포인터로, 데이터를 쓸 파일을 가리키는 FILE 구조체에 대한 포인터입니다.



 

fputs 함수는 주어진 문자열 str을 stream에 씁니다. 문자열은 NULL 문자 ('\0')로 끝나야 합니다. 함수는 성공적으로 문자열을 쓴 경우 0 이외의 값을 반환하고, 실패한 경우 EOF를 반환합니다.

fputs 함수는 fprintf 함수와는 달리 형식 지정자를 사용하지 않으며, 단순히 문자열을 그대로 출력합니다. 따라서 형식 변환이나 다른 데이터 유형의 처리는 직접 수행해야 합니다.

자 그러면 몇 가지 예제를 통해 알아보도록 하겠습니다.


 

파일에 문자열 쓰기 예제

 

#include <stdio.h>

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

 

 

 



fprintf는 파일 핸들 인자가 제일 처음 전달되지만 fputs의 경우는 파일 핸들이 제일 뒤 인자에 전달된다는 차이점이 있습니다.


파일 스트림을 통해 문자열들은 파일 안으로 저장된다.

 

 

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

 

#include <stdio.h>

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


위 예제는 여러 줄의 문자열을 추가하는 예제입니다.
fprintf와 동일하게 여러 번 fputs를 호출하고 있습니다.

 

fprintf와 조합하여 포맷 문자열 쓰기 예제

 

#include <stdio.h>

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



 

위의 예제는 문자열을 단순 추가하는 fputs와 포맷을 이용한 fprintf를 조합하여 사용한 예제입니다.
정수 값의 문자열이 뒤에 추가되는 것을 알 수 있습니다.


 

위 예제들은 fputs 함수를 사용하여 파일에 데이터를 출력하는 방법을 보여줍니다. 파일을 열고 쓴 후에는 항상 파일을 닫는 것을 잊지 말아야 합니다. 또한 파일이 정상적으로 열렸는지 확인하는 것도 중요합니다.

 

반응형


살구엉덩이님의
글이 좋았다면 응원을 보내주세요!