Создание и запись в файлы на C

CCBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии вы научитесь создавать новый файл на языке программирования C и записывать в него данные. Тип данных FILE используется для представления файла в C, а функция fopen() используется для открытия файла для чтения, записи или добавления. После открытия файла в него можно записывать данные с использованием функции fprintf(), а функция fclose() используется для закрытия файла после записи данных.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/FileHandlingGroup(["File Handling"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/PointersandMemoryGroup(["Pointers and Memory"]) c/BasicsGroup -.-> c/variables("Variables") c/BasicsGroup -.-> c/data_types("Data Types") c/PointersandMemoryGroup -.-> c/pointers("Pointers") c/FileHandlingGroup -.-> c/write_to_files("Write To Files") c/FileHandlingGroup -.-> c/create_files("Create Files") c/FileHandlingGroup -.-> c/read_files("Read Files") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-123319{{"Создание и запись в файлы на C"}} c/data_types -.-> lab-123319{{"Создание и запись в файлы на C"}} c/pointers -.-> lab-123319{{"Создание и запись в файлы на C"}} c/write_to_files -.-> lab-123319{{"Создание и запись в файлы на C"}} c/create_files -.-> lab-123319{{"Создание и запись в файлы на C"}} c/read_files -.-> lab-123319{{"Создание и запись в файлы на C"}} c/user_input -.-> lab-123319{{"Создание и запись в файлы на C"}} c/output -.-> lab-123319{{"Создание и запись в файлы на C"}} end

Создание нового C-программа с использованием терминала

Откройте терминал и создайте новую C-программу под названием main.c в каталоге ~/project/ с использованием команды:

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(). Не забывайте всегда закрывать файл после записи в него данных, чтобы избежать потери данных.