본문 바로가기
Language/C언어

C022_파일 쓰고 읽기 fput, fgets

by OdOp 관리자 2023. 9. 24.
SMALL

전 포스팅에서 기본적인 파일 쓰는 법, 읽는 법, 파일 모드 종류에 대해 살펴보았습니다. 

아직 보지 않으시거나 파일 쓰고 읽기가 아직은 어색하신 분들은 아래의 링크 참고 부탁드리겠습니다. 

https://hig0617.tistory.com/27

 

이번 포스팅에서는fputs, fgets에 대해 살펴보도록 하겠습니다. 

 

fputs

fprintf와 같이 파일을 쓰는 함수입니다. 

#include <stdio.h>

int main()
{
    FILE* fp = fopen("hello.txt", "w");
    fputs("Hello 100!", fp);  //파일에 문자열 저장 
    fclose(fp);
    return 0;
}

파일에 'Hello 100!'을 작성해 보겠습니다. 

우선 파일을 쓰기 모드로 열었습니다.

적어보겠습니다.

fputs("Hello 100!", fp);

fputs는 파일에 특정 문자열을 쓸 수 있습니다. fputs의 기본적인 틀을 알려드리겠습니다.

fputs(문자열, 파일 포인터);

이러한 형태로 작성이 되게 합니다. 하나하나 살표 보죠.

파일에 작성할 문자열 "Hello 100!"을 넣습니다. 

마지막으로 파일의 위치를 알려 주어야 하기 때문에 파일 포인터 fp1을 넣었습니다.

다 했으면 파일을 닫고 끝냅니다.

 

fgets

fscanf와 같이 파일을 읽는 함수입니다. 

#include <stdio.h>

int main()
{
    char buffer[20];

    FILE* fp = fopen("hello.txt", "w");
    fputs("Hello 100!", fp);  //파일에 문자열 저장 
    fclose(fp);
    FILE* fp1 = fopen("hello.txt", "r");  //hello.txt 파일을 읽기 모드로 열기
    fgets(buffer, sizeof(buffer), fp1);
    printf("%s\n", buffer);
    fclose(fp1);
    return 0;
}

문자열을 저장할 공간을 만듭니다. 

char buffer[20];

앞에서와 같은 방식으로 임의로 파일을 하나 만들고 그 안에 "Hello 100"이 있도록 작성을 했습니다. 

이제 읽어 보도록 하겠습니다. 

fgets(buffer, sizeof(buffer), fp1);

fgets는 저장할 공간에 특정 크기만큼 파일의 내용을 저장할 수 있습니다. fgets의 기본적인 틀을 알려드리겠습니다. 

fgets(저장할 공간, 크기(얼마나 저장할 것인가?), 파일 포인터);

이러한 형태로 작성이 되게 합니다. 하나하나 살표 보죠.

저장할 공간에 buffer을 넣었습니다. 

크기는 buffer크기로 하겠습니다. 그래서 sizeof(buffer)을 넣었습니다.

마지막으로 파일 포인터 fp1을 넣었습니다.

다 했으면 파일을 닫고 끝냅니다.

LIST

'Language > C언어' 카테고리의 다른 글

C024_파일 크기 구하기  (0) 2023.09.26
C023_파일 쓰고 읽기 fread, fwrite  (0) 2023.09.25
C021_파일 쓰고 읽기  (0) 2023.09.23
C020_함수 포인터  (0) 2023.09.22
C019_재귀 함수 사용하기  (0) 2023.09.21