C 파일 생성 및 쓰기

CBeginner
지금 연습하기

소개

이 랩에서는 C 프로그래밍 언어로 새로운 파일을 생성하고 데이터를 쓰는 방법을 배우게 됩니다. FILE 데이터 타입은 C 에서 파일을 나타내는 데 사용되며, fopen() 함수는 파일을 읽기, 쓰기 또는 추가 모드로 열 때 사용됩니다. 파일이 열리면 fprintf() 함수를 사용하여 데이터를 쓸 수 있으며, 데이터를 쓴 후에는 fclose() 함수를 사용하여 파일을 닫습니다.

터미널을 사용하여 새로운 C 프로그램 생성

터미널을 열고 다음 명령어를 사용하여 ~/project/ 디렉토리에 main.c라는 새로운 C 프로그램을 생성합니다.

nano ~/project/main.c

필요한 헤더 파일 포함

main.c 파일에서 필요한 헤더 파일을 포함합니다.

#include <stdio.h>
#include <stdlib.h>

변수 및 포인터 정의

파일과 해당 내용을 저장하기 위해 FILE 타입의 변수와 포인터를 정의합니다.

FILE *fptr;
char name[20];
int age;
float salary;

쓰기 위해 파일 열기

fopen() 함수를 사용하여 쓰기 모드로 파일을 엽니다. 파일이 존재하지 않으면 생성됩니다. 그렇지 않으면, 파일의 내용이 덮어쓰여집니다.

fptr = fopen("emp.txt", "w");
if (fptr == NULL)
{
    printf("File does not exist.\n");
    return 1;
}

파일에 데이터 쓰기

사용자에게 직원의 이름, 나이, 급여를 입력하도록 요청하고, fprintf() 함수를 사용하여 파일에 씁니다.

printf("Enter the name:\n");
scanf("%s", name);
fprintf(fptr, "Name  = %s\n", name);

printf("Enter the age:\n");
scanf("%d", &age);
fprintf(fptr, "Age  = %d\n", age);

printf("Enter the salary:\n");
scanf("%f", &salary);
fprintf(fptr, "Salary  = %.2f\n", salary);

파일 닫기

fclose() 함수를 사용하여 파일을 닫습니다.

fclose(fptr);

코드 완성

#include <stdio.h>
#include <stdlib.h>

int main() {
    FILE *fptr;
    char name[20];
    int age;
    float salary;

    // open for writing
    fptr = fopen("emp.txt", "w");
    if (fptr == NULL) {
        printf("File does not exist.\n");
        return 1;
    }

    printf("Enter the name:\n");
    scanf("%s", name);
    fprintf(fptr, "Name  = %s\n", name);

    printf("Enter the age:\n");
    scanf("%d", &age);
    fprintf(fptr, "Age  = %d\n", age);

    printf("Enter the salary:\n");
    scanf("%f", &salary);
    fprintf(fptr, "Salary  = %.2f\n", salary);

    fclose(fptr);
    return 0;
}

요약

이 랩에서는 C 프로그래밍 언어에서 새로운 파일을 생성하고 FILE, fopen(), fprintf(), 그리고 fclose() 함수를 사용하여 데이터를 쓰는 방법을 배웠습니다. 데이터 손실을 방지하기 위해 데이터를 쓴 후에는 항상 파일을 닫는 것을 기억하십시오.