Lectura y escritura de archivos en lenguaje C

1. Leer y escribir archivos txt

Este código puede escribir una cadena en un archivo y leer una cadena de un archivo y enviarla a la consola.
#include <stdio.h>
#define _CRT_SECURE_NO_WARNINGS
int main()
{
    FILE *fp;
    char str[100];
    // 写入文件
    fp = fopen("test.txt", "w");
    fprintf(fp, "This is a test.\n");
    fputs("Hello, World!", fp);
    fclose(fp);
    // 读取文件
    fp = fopen("test.txt", "r");
    while (fgets(str, 100, fp) != NULL)
    {
        printf("%s", str);
    }
    fclose(fp);
    return 0;
}

2. Leer y escribir archivos binarios

Primero abra un archivo llamado "data.bin", escriba la cadena "¡Hola, mundo!" en el archivo usando la función fwrite() y luego cierre el archivo. Luego abra el archivo nuevamente, use la función fread() para leer los datos en el archivo en el búfer y finalmente envíe el contenido al búfer.
#include <stdio.h>
int main() {
    FILE *fp;
    char buffer[100];
    // 写入二进制文件
    fp = fopen("data.bin", "wb");
    fwrite("Hello, world!", sizeof(char), 13, fp);
    fclose(fp);
    // 读取二进制文件
    fp = fopen("data.bin", "rb");
    fread(buffer, sizeof(char), 13, fp);
    fclose(fp);
    printf("%s\n", buffer);
    return 0;
}

3. Estructura de lectura y escritura

Se define una estructura denominada alumno , que contiene el nombre, la edad y el grado del alumno. En la función principal , primero creamos una variable stu de tipo estudiante e inicializamos su valor. Luego, usamos la función fopen para abrir un archivo llamado student.dat y usamos la función fwrite para escribir stu en el archivo. A continuación, usamos la función fopen para abrir el archivo nuevamente y usamos la función fread para leer datos del archivo en la variable stu . Finalmente, imprimimos los valores en la variable stu , que es el nombre, la edad y el grado del estudiante.
Tenga en cuenta que este código es solo un ejemplo y debe modificarse y mejorarse según las necesidades específicas de las aplicaciones reales.

Básico

#include <stdio.h>
struct student
{
    char name[20];
    int age;
    float score;
}
;
int main() {
    struct student stu =
    {
        "Tom", 18, 90.5
    }
    ;
    FILE *fp;
    // 写入结构体数据到文件
    fp = fopen("student.dat", "wb");
    fwrite(&stu, sizeof(struct student), 1, fp);
    fclose(fp);
    // 从文件中读取结构体数据
    fp = fopen("student.dat", "rb");
    fread(&stu, sizeof(struct student), 1, fp);
    printf("Name: %s\nAge: %d\nScore: %.1f\n", stu.name, stu.age, stu.score);
    fclose(fp);
    return 0;
}

Mejora

#include <stdio.h>
typedef struct
{
    int id;
    char name[20];
    float score;
}Student;

int main()
{
    Student stu =
    {
        1, "Tom", 89.5
    };
    FILE *fp = fopen("student.dat", "wb");
    if (fp == NULL)
    {
        printf("Failed to open file.\n");
        return 1;
    }
    fwrite(&stu, sizeof(Student), 1, fp);
    fclose(fp);
    fp = fopen("student.dat", "rb");
    if (fp == NULL)
    {
        printf("Failed to open file.\n");
        return 1;
    }
    fread(&stu, sizeof(Student), 1, fp);
    printf("ID: %d\nName: %s\nScore: %.1f\n", stu.id, stu.name, stu.score);
    fclose(fp);
    return 0;
}

Supongo que te gusta

Origin blog.csdn.net/qq_42815643/article/details/129539716
Recomendado
Clasificación