C에서 파일 입/출력
FILE *fp;
파일 생성 또는 파일 열기
fopen() 함수는 기존 파일을 열거나 새 파일을 만드는 데 사용됩니다.
일반 구문:
*fp = FILE *fopen(const char *filename, const char *mode);
여기서 fp는 열린(또는 생성된) 파일에 대한 참조를 보유할 FILE 포인터(FILE fp)입니다.
filename은 열려는 파일의 이름이고 mode는 파일을 여는 목적을 지정합니다.
파일 닫기
fclose() 함수는 이미 열린 파일을 닫는 데 사용됩니다.
일반 구문:
int fclose( FILE *fp);
여기서 fclose() 함수는 파일을 닫고 성공하면 0을 반환하고, 파일을 닫는 데 오류가 있으면 EOF를 반환합니다. 이 EOF는 헤더 파일 stdio.h에 정의된 상수입니다.
파일에 대한 입/출력 작업
이 표에서 getc() 및 putc()와 같은 몇 가지 파일 I/O 함수를 살펴보았습니다. 이들은 사용자가 텍스트 파일에서 개별 문자를 읽고 쓸 수 있게 해주는 간단한 기능이었습니다.
#include<stdio.h>
int main()
{
FILE *fp;
char ch;
fp = fopen("one.txt", "w");
printf("Enter data...");
while( (ch = getchar()) != EOF) {
putc(ch, fp);
}
fclose(fp);
fp = fopen("one.txt", "r");
while( (ch = getc(fp)! = EOF)
printf("%c",ch);
// closing the file pointer
fclose(fp);
return 0;
}
추가 모드와 쓰기 모드의 차이점
두 모드(쓰기 및 추가)의 차이점은 파일이 존재하지 않으면 "추가"모드에서 새 파일이 생성된다는 것입니다. 반면에 "쓰기"모드에서는 해당 위치에 파일이 없으면 파일도 생성합니다.
유일한 차이점은 쓰기 모드에서 파일을 열면 파일이 재설정되어 파일에 이미 있는 모든 데이터가 삭제된다는 것입니다. 추가 모드에서는 이런 일이 발생하지 않습니다. 추가 모드는 파일의 기존 데이터(있는 경우)에 데이터를 추가하거나 추가하는 데 사용됩니다. 따라서 Append(a) 모드에서 파일을 열면 커서는 파일의 현재 데이터 끝에 위치하게 됩니다.
이진 파일 읽기 및 쓰기
이진 파일은 텍스트 파일과 유사하지만 큰 숫자 데이터만 포함합니다. 열기 모드는 위의 열기 모드 표에 언급되어 있습니다.
fread() 및 fwrite() 함수는 이진 파일을 읽고 쓰는 데 사용됩니다.
fwrite(data-element-to-be-written, size_of_elements, number_of_elements, pointer-to-file);
fread()도 fwrite() 함수와 같은 인수를 사용하여 같은 방식으로 사용됩니다. 아래에 언급된 것은 이진 파일에 쓰는 간단한 예입니다.
const char *mytext = "The quick brown fox jumps over the lazy dog";
FILE *bfp= fopen("test.txt", "wb");
if (bfp)
{
fwrite(mytext, sizeof(char), strlen(mytext), bfp);
fclose(bfp);
}
fseek(), ftell() 및 rewind() 함수
fseek(): fseek 함수를 사용하여 읽기 컨트롤을 다른 위치로 이동하는 데 사용됩니다.
ftell(): 파일 포인터에서 커서의 현재 위치의 바이트 위치를 알려줍니다.
rewind(): 컨트롤을 파일의 처음으로 이동합니다.
Reference
이 문제에 관하여(C에서 파일 입/출력), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/iamajaychaudhary/file-inputoutput-in-c-4lka텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)