전 포스팅에서 기본적인 파일 쓰는 법, 읽는 법, 파일 모드 종류에 대해 살펴보았습니다.
아직 보지 않으시거나 파일 쓰고 읽기가 아직은 어색하신 분들은 아래의 링크 참고 부탁드리겠습니다.
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을 넣었습니다.
다 했으면 파일을 닫고 끝냅니다.
'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 |