C 파일 I / O : 파일 생성, 열기, 읽기, 쓰기 및 닫기

C 파일 관리

파일은 대량의 영구 데이터를 저장하는 데 사용할 수 있습니다. 다른 많은 언어와 마찬가지로 “C”는 다음과 같은 파일 관리 기능을 제공합니다.

  1. 파일 생성
  2. 파일 열기
  3. 파일 읽기
  4. 파일 쓰기
  5. 파일 닫기

다음은 “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 파일에 넣습니다. 프로세스는 배열의 각 문자를 가져 와서 파일에 쓰는 것입니다.

  1. 위 프로그램에서는 파일을 만들고 열었습니다. 쓰기 모드에서 fputc_test.txt를 호출하고 파일에 쓸 문자열을 선언합니다.
  2. for 루프를 사용하여 문자 단위 쓰기 작업을 수행하고 각 문자를 “\ n “문자가 발견되면 fclose 함수를 사용하여 파일을 닫습니다.

fputs () 함수 :

출력 :

  1. 위의 프로그램에서는 쓰기 모드에서 fputs_test.txt라는 파일을 만들고 열었습니다.
  2. 3 개의 다른 문자열을 작성하여 fputs () 함수를 사용하여 쓰기 작업을 수행 한 후
  3. 그런 다음 fclose 함수를 사용하여 파일을 닫습니다.

fprintf () Function :

OUTPUT :

  1. 위 프로그램에서는 쓰기 모드에서 fprintf_test.txt라는 파일을 만들고 열었습니다.
  2. 문자열을 써서 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 () 함수 각각 :

결과 :

  1. 위 프로그램에서 우리는 이전에 fprintf () 함수를 사용하여 작성한 “fprintf_test.txt”라는 파일을 열었으며, “Learning C with Guru99″문자열이 포함되어 있습니다. 버퍼 크기가 전체 라인을 처리하기에 충분해야하는 경우 한 라인 씩 읽는 fgets () 함수를 사용하여 읽습니다.
  2. 파일을 다시 열어 포인터 파일이 시작 부분을 가리 키도록 재설정합니다. 파일. 각 단어를 개별적으로 처리하기 위해 다양한 문자열 변수를 만듭니다. 내용을 보려면 변수를 인쇄하십시오. fscanf ()는 주로 파일에서 데이터를 추출하고 구문 분석하는 데 사용됩니다.
  3. 파일을 다시 열어 포인터 파일이 파일의 시작 부분을 가리 키도록 재설정합니다. 데이터를 읽고 EOF 문이 나타날 때까지 getc () 함수를 사용하여 파일 문자에서 문자별로 인쇄합니다.
  4. 다른 변형을 사용하여 작업 파일을 읽은 후 fclose 함수를 사용하여 파일을 다시 닫았습니다.

getc 및 putc를 사용한 대화 형 파일 읽기 및 쓰기

이것은 가장 간단한 파일 작업입니다. Getc는 get 문자를 의미하고 putc는 put 문자를 의미합니다. 이 두 함수는 한 번에 하나의 문자 만 처리하는 데 사용됩니다.

다음 프로그램은 “C”프로그래밍의 파일 처리 기능을 보여줍니다.

출력 :

  1. 위 프로그램에서 쓰기 모드에서 demo라는 파일을 만들고 열었습니다.
  2. 쓰기 작업을 수행 한 후 fclose 함수를 사용하여 파일을 닫습니다.
  3. 다시 파일을 열었습니다. 이제 읽기 모드의 데이터가 포함됩니다. while 루프는 eof를 찾을 때까지 실행됩니다. 파일의 끝을 찾으면 작업이 종료되고 printf 함수를 사용하여 데이터가 표시됩니다.
  4. 읽기 작업을 수행 한 후 fclose 함수를 사용하여 파일을 다시 닫습니다.

요약

  • 파일은 데이터가 저장되는 메모리 공간입니다.
  • “C “프로그래밍은 파일을 다루는 다양한 기능을 제공합니다.
  • 파일을 조작하는 메커니즘을 파일 관리라고합니다.
  • 파일에 대한 작업을 수행하기 전에 파일을 열어야합니다.
  • 파일은 읽기, 쓰기 또는 추가 모드로 열 수 있습니다.
  • Getc 및 putc 함수는 단일 문자를 읽고 쓰는 데 사용됩니다.
  • The fscanf () 함수는 파일에서 데이터를 읽고 구문 분석 할 수 있도록합니다.
  • EOF가 발생할 때까지 모든 파일을 포함하도록 루프를 실행하여 전체 파일을 읽을 수 있습니다 (getc 함수 사용).
  • 우리는 이름을 만든 후에 fprintf () 함수를 사용하여 파일에 쓸 수 있으며 newl이 있어야합니다. 문자열 텍스트 끝의 ine 문자.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다