C 파일 관리
파일은 대량의 영구 데이터를 저장하는 데 사용할 수 있습니다. 다른 많은 언어와 마찬가지로 “C”는 다음과 같은 파일 관리 기능을 제공합니다.
- 파일 생성
- 파일 열기
- 파일 읽기
- 파일 쓰기
- 파일 닫기
다음은 “C”에서 사용할 수있는 가장 중요한 파일 관리 기능입니다.
함수 | 목적 |
fopen () | 파일 만들기 또는 기존 파일 열기 |
fclose () | 파일 닫기 |
fprintf () | 파일에 데이터 블록 쓰기 |
fscanf () | 읽기 파일에서 데이터 차단 |
getc () | 파일에서 단일 문자 읽기 |
putc () | 파일에 단일 문자 쓰기 |
getw () | 파일에서 정수 읽기 |
putw () | 파일에 정수 쓰기 |
fseek () | 파일 포인터의 위치를 지정된 위치로 설정합니다. |
ftell () | 현재 위치를 반환합니다. 파일 포인터 |
되감기 () | 파일 시작 부분에 파일 포인터 설정 |
이 자습서에서는
- 파일 작성 방법
- 파일을 닫는 방법 :
- 파일에 쓰기
- fputc () 함수 :
- fputs () 함수 :
- fprintf () 함수 :
- 파일에서 데이터 읽기
- getc 및 putc를 사용하여 대화 형 파일 읽기 및 쓰기
파일 생성 방법
파일로 작업 할 때마다 첫 번째 단계는 파일을 생성하는 것입니다. 파일은 데이터가 저장되는 메모리의 공간 일뿐입니다.
“C”프로그램에서 다음 구문을 사용하여 파일을 생성하려면
FILE *fp;fp = fopen ("file_name", "mode");
위 구문에서 파일은 표준 라이브러리에 정의 된 데이터 구조.
fopen은 파일을 여는 데 사용되는 표준 기능입니다.
- 파일이 시스템에 없으면 파일이 생성 된 다음 열립니다.
- 파일이 시스템에 이미있는 경우 직접 열립니다. 이 함수를 사용합니다.
fp는 유형 파일을 가리키는 파일 포인터입니다.
파일을 열거 나 만들 때마다 파일로 수행 할 작업을 지정해야합니다. “C”프로그래밍의 파일은 읽기 / 쓰기 목적으로 만들거나 열 수 있습니다. 모드는 아래와 같은 목적으로 파일을 열 것인지 여부를 지정하는 데 사용됩니다. 다음은 파일 작업 중에 사용할 수있는 “C”프로그래밍의 다양한 유형의 모드입니다.
파일 모드 | 설명 |
r | 읽기 위해 파일을 엽니 다. 파일이 읽기 모드에있는 경우 파일이 이미 시스템에 있으면 데이터가 삭제되지 않습니다. |
w | 쓰기를 위해 파일을 엽니 다. 파일이 쓰기 모드 인 경우 파일이 전혀 존재하지 않으면 새 파일이 생성됩니다. 파일이 이미 시스템에있는 경우 파일 내부의 모든 데이터가 잘리고 쓰기를 위해 열립니다. |
a | 파일을 추가 모드로 엽니 다. 파일이 추가 모드에 있으면 파일이 열립니다. 파일 내의 내용 변하지 않습니다. |
r + | 처음부터 읽기 및 쓰기 가능 |
w + | 읽기 및 쓰기 용으로 열기, 파일 덮어 쓰기 |
a + | 읽기 및 쓰기 용으로 열기, 파일에 추가 |
주어진 구문에서 파일 이름과 모드는 문자열로 지정되므로 항상 큰 따옴표로 묶어야합니다.
예 :
#include <stdio.h>int main() {FILE *fp;fp = fopen ("data.txt", "w");}
출력 :
파일이 코드를 저장 한 동일한 폴더에 생성됩니다. .
파일을 만들 경로를 지정할 수 있습니다.
#include <stdio.h>int main() {FILE *fp;fp = fopen ("D://data.txt", "w");}
파일을 닫는 방법
파일에 대한 작업이 끝날 때마다 항상 파일을 닫아야합니다. 파일의 내용과 링크가 종료되었음을 의미합니다. 이것은 우발적 인 파일 손상을 방지합니다.
“C”는 파일 닫기 작업을 수행하는 fclose 함수를 제공합니다. fclose 구문은 다음과 같습니다.
fclose (file_pointer);
예 :
FILE *fp;fp = fopen ("data.txt", "r");fclose (fp);
fclose 함수는 파일 포인터를 인수로 사용합니다. 그런 다음 파일 포인터와 관련된 파일이 fclose 함수의 도움으로 닫힙니다.닫기가 성공하면 0을 반환하고 파일을 닫는 동안 오류가 발생하면 EOF (파일 끝)를 반환합니다.
파일을 닫은 후 동일한 파일 포인터를 다른 파일에도 사용할 수 있습니다.
“C”프로그래밍에서 프로그램이 종료되면 파일이 자동으로 닫힙니다. fclose 함수를 작성하여 수동으로 파일을 닫는 것은 좋은 프로그래밍 방법입니다.
파일에 쓰기
C에서 파일에 쓸 때 개행 문자 “\ n”을 명시 적으로 추가해야합니다.
stdio 라이브러리는 파일에 쓰는 데 필요한 함수를 제공합니다.
- fputc (char, file_pointer) : file_pointer가 가리키는 파일에 문자를 씁니다.
- fputs (str, file_pointer) : file_pointer가 가리키는 파일에 문자열을 씁니다.
- fprintf (file_pointer, str, variable_lists) : file_pointer가 가리키는 파일에 문자열을 인쇄합니다. 문자열은 선택적으로 형식 지정자 및 변수 목록 변수 목록을 포함 할 수 있습니다.
아래 프로그램은 파일에 쓰기를 수행하는 방법을 보여줍니다.
fputc () 함수 :
출력 :
위 프로그램은 단일 문자를 작성합니다. 문장이 성공적으로 작성되었음을 나타내는 다음 줄 기호 “\ n”에 도달 할 때까지 fputc_test.txt 파일에 넣습니다. 프로세스는 배열의 각 문자를 가져 와서 파일에 쓰는 것입니다.
- 위 프로그램에서는 파일을 만들고 열었습니다. 쓰기 모드에서 fputc_test.txt를 호출하고 파일에 쓸 문자열을 선언합니다.
- for 루프를 사용하여 문자 단위 쓰기 작업을 수행하고 각 문자를 “\ n “문자가 발견되면 fclose 함수를 사용하여 파일을 닫습니다.
fputs () 함수 :
출력 :
- 위의 프로그램에서는 쓰기 모드에서 fputs_test.txt라는 파일을 만들고 열었습니다.
- 3 개의 다른 문자열을 작성하여 fputs () 함수를 사용하여 쓰기 작업을 수행 한 후
- 그런 다음 fclose 함수를 사용하여 파일을 닫습니다.
fprintf () Function :
OUTPUT :
- 위 프로그램에서는 쓰기 모드에서 fprintf_test.txt라는 파일을 만들고 열었습니다.
- 문자열을 써서 fprintf () 함수를 사용하여 쓰기 작업을 수행 한 후 fclose 함수를 사용하여 파일을 닫습니다.
파일에서 데이터 읽기
파일에서 데이터를 읽는 데 전용되는 세 가지 다른 함수가 있습니다.
- fgetc (file_pointer) : 파일 포인터가 가리키는 파일에서 다음 문자를 반환합니다. 파일 끝에 도달하면 EOF가 다시 전송됩니다.
- fgets (buffer, n, file_pointer) : 파일에서 n-1 개의 문자를 읽고 NULL 문자 “\ 0″이 마지막 문자로 추가 된 버퍼에 문자열을 저장합니다.
- fscanf (file_pointer, conversion_specifiers, variable_adresses) : 데이터를 구문 분석하고 분석하는 데 사용됩니다. 파일에서 문자를 읽고 변환 지정자를 사용하여 변수 포인터 variable_adresses 목록에 입력을 할당합니다. scanf와 마찬가지로, fscanf는 공백이나 줄 바꿈이 발생하면 문자열 읽기를 중지합니다.
다음 프로그램은 fgets (), fscanf ()를 사용하여 fputs_test.txt 파일에서 읽기를 보여줍니다. fgetc () 함수 각각 :
결과 :
- 위 프로그램에서 우리는 이전에 fprintf () 함수를 사용하여 작성한 “fprintf_test.txt”라는 파일을 열었으며, “Learning C with Guru99″문자열이 포함되어 있습니다. 버퍼 크기가 전체 라인을 처리하기에 충분해야하는 경우 한 라인 씩 읽는 fgets () 함수를 사용하여 읽습니다.
- 파일을 다시 열어 포인터 파일이 시작 부분을 가리 키도록 재설정합니다. 파일. 각 단어를 개별적으로 처리하기 위해 다양한 문자열 변수를 만듭니다. 내용을 보려면 변수를 인쇄하십시오. fscanf ()는 주로 파일에서 데이터를 추출하고 구문 분석하는 데 사용됩니다.
- 파일을 다시 열어 포인터 파일이 파일의 시작 부분을 가리 키도록 재설정합니다. 데이터를 읽고 EOF 문이 나타날 때까지 getc () 함수를 사용하여 파일 문자에서 문자별로 인쇄합니다.
- 다른 변형을 사용하여 작업 파일을 읽은 후 fclose 함수를 사용하여 파일을 다시 닫았습니다.
getc 및 putc를 사용한 대화 형 파일 읽기 및 쓰기
이것은 가장 간단한 파일 작업입니다. Getc는 get 문자를 의미하고 putc는 put 문자를 의미합니다. 이 두 함수는 한 번에 하나의 문자 만 처리하는 데 사용됩니다.
다음 프로그램은 “C”프로그래밍의 파일 처리 기능을 보여줍니다.
출력 :
- 위 프로그램에서 쓰기 모드에서 demo라는 파일을 만들고 열었습니다.
- 쓰기 작업을 수행 한 후 fclose 함수를 사용하여 파일을 닫습니다.
- 다시 파일을 열었습니다. 이제 읽기 모드의 데이터가 포함됩니다. while 루프는 eof를 찾을 때까지 실행됩니다. 파일의 끝을 찾으면 작업이 종료되고 printf 함수를 사용하여 데이터가 표시됩니다.
- 읽기 작업을 수행 한 후 fclose 함수를 사용하여 파일을 다시 닫습니다.
요약
- 파일은 데이터가 저장되는 메모리 공간입니다.
- “C “프로그래밍은 파일을 다루는 다양한 기능을 제공합니다.
- 파일을 조작하는 메커니즘을 파일 관리라고합니다.
- 파일에 대한 작업을 수행하기 전에 파일을 열어야합니다.
- 파일은 읽기, 쓰기 또는 추가 모드로 열 수 있습니다.
- Getc 및 putc 함수는 단일 문자를 읽고 쓰는 데 사용됩니다.
- The fscanf () 함수는 파일에서 데이터를 읽고 구문 분석 할 수 있도록합니다.
- EOF가 발생할 때까지 모든 파일을 포함하도록 루프를 실행하여 전체 파일을 읽을 수 있습니다 (getc 함수 사용).
- 우리는 이름을 만든 후에 fprintf () 함수를 사용하여 파일에 쓸 수 있으며 newl이 있어야합니다. 문자열 텍스트 끝의 ine 문자.