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;
}