전 포스팅에서 기본적인 파일 쓰는 법, 읽는 법, 파일 모드 종류에 대해 살펴보았습니다.
아직 보지 않으시거나 파일 쓰고 읽기가 아직은 어색하신 분들은 아래의 링크 참고 부탁드리겠습니다.
https://hig0617.tistory.com/27
이번 포스팅에서는 fwrite, fread에 대해 살펴보도록 하겠습니다.
fwrite
#include <stdio.h>
#include <string.h> //strlen 함수가 선언된 헤더 파일
int main()
{
char *s1 = "Hello 100!";
FILE* fp = fopen("hello.txt", "w");
fwrite(s1, strlen(s1), 1, fp);
fclose(fp);
return 0;
}
작성할 문자열을 미리 s1에 저장해 둡니다.
쓰기 모드로 파일을 엽니다.
이제 작성해 보도록 하겠습니다.
fwrite(s1, strlen(s1), 1, fp);
fwrite는 작성할 문자열을 넣고 크기와 횟수 그리고 파일의 위치를 입력하면 할 수 있습니다. fwrite의 기본적인 틀을 알려드리겠습니다.
fwrite(작성할 문자열, 크기(문자열의 길이 x 횟수), 작성할 횟수, 파일 포인터);
이러한 형태로 작성이 되게 합니다. 하나하나 살표 보죠.
작성할 공간에 s1을 넣었습니다.
크기는 strlen(s1)으로 문자열의 길이를 제어서 넣도록 하겠습니다.
마지막으로 파일 포인터 fp을 넣었습니다.
다 했으면 파일을 닫고 끝냅니다.
fread
#include <stdio.h>
#include <string.h> //strlen 함수가 선언된 헤더 파일
int main()
{
char *s1 = "Hello 100!";
char buffer1[20] = { 0, }; //파일을 읽을 때 사용할 임시 공간, 미리 0으로 전부 초기화
FILE* fp = fopen("hello.txt", "w");
fwrite(s1, strlen(s1), 1, fp);
fclose(fp);
FILE* fp1 = fopen("hello.txt", "r");
fread(buffer1, sizeof(buffer1), 1, fp1);
printf("%s\n", buffer1);
fclose(fp1);
return 0;
}
위에서와 같은 방식으로 파일을 쓰고 이제는 읽어보도록 하겠습니다.
저장할 문자열 buffer1을 미리 만들어 두었습니다.
읽기 모드로 파일을 엽니다.
이제 읽어 보도록 하겠습니다.
fread(buffer1, sizeof(buffer1), 1, fp1);
fread는 저장할 문자열을 넣고 크기와 횟수 그리고 파일의 위치를 입력하면 할 수 있습니다. fread의 기본적인 틀을 알려드리겠습니다.
fread(저장할 문자열, 크기(저장할 문자열의 크기), 저장할 횟수, 파일 포인터);
이러한 형태로 작성이 되게 합니다. 하나하나 살표 보죠.
작성할 공간에 buffer1을 넣었습니다.
크기는 sizeof(buffer1)로 넣도록 하겠습니다.
마지막으로 파일 포인터 fp을 넣었습니다.
다 했으면 파일을 닫고 끝냅니다.
'Language > C언어' 카테고리의 다른 글
C025_putchar함수 만들기 (0) | 2023.10.12 |
---|---|
C024_파일 크기 구하기 (0) | 2023.09.26 |
C022_파일 쓰고 읽기 fput, fgets (0) | 2023.09.24 |
C021_파일 쓰고 읽기 (0) | 2023.09.23 |
C020_함수 포인터 (0) | 2023.09.22 |