【C语言回顾】文件操作

  • 前言
  • [1. 文件打开模式](#1. 文件打开模式)
  • [2. 示例代码](#2. 示例代码)
    • [2.1 打开和关闭文件](#2.1 打开和关闭文件)
    • [2.2 读写文件](#2.2 读写文件)
    • [2.3 二进制文件操作](#2.3 二进制文件操作)
  • 结语


#include<GUIQU.h>
int main
{
上期回顾: 【C语言回顾】动态内存管理
个人主页:C_GUIQU
专栏:【C语言学习】
return 一键三连;
}

前言

各位小伙伴大家好!上期小编给大家讲解了C语言中的动态内存管理,接下来我们讲解一下文件操作!

在C语言中,文件操作是程序设计中非常重要的一部分。C语言提供了一套标准的输入输出库(stdio.h),通过这个库,我们可以实现文件的读取、写入、修改等操作。

以下是C语言文件操作的一些基本函数和它们的简要说明:

  1. fopen():打开一个文件,返回一个指向该文件的文件指针。
  2. fclose():关闭一个已经打开的文件。
  3. fprintf():向文件中写入格式化的数据。
  4. fscanf():从文件中读取格式化的数据。
  5. fread():从文件中读取一块数据。
  6. fwrite():向文件中写入一块数据。
  7. fseek():设置文件读写位置。
  8. ftell():返回当前文件读写位置。
  9. rewind():将文件读写位置设置到文件开头。
  10. feof():检测是否到达文件末尾。

1. 文件打开模式

fopen()函数中,我们可以指定文件的打开模式,常见的模式有:

  • r:只读模式打开文件,文件必须存在。
  • w:写入模式打开文件,如果文件不存在则创建,如果文件已存在则清空。
  • a:追加模式打开文件,如果文件不存在则创建,写入的数据会被添加到文件末尾。
  • r+:读写模式打开文件,文件必须存在。
  • w+:读写模式打开文件,如果文件不存在则创建,如果文件已存在则清空。
  • a+:读写追加模式打开文件,如果文件不存在则创建,写入的数据会被添加到文件末尾。

2. 示例代码

2.1 打开和关闭文件

c 复制代码
#include <stdio.h>
int main() {
    FILE *fp;
    fp = fopen("example.txt", "w"); // 以写入模式打开文件
    if (fp == NULL) {
        perror("Error opening file");
        return -1;
    }
    fclose(fp); // 关闭文件
    return 0;
}

2.2 读写文件

c 复制代码
#include <stdio.h>
int main() {
    FILE *fp;
    char str[] = "Hello, world!";
    
    fp = fopen("example.txt", "w"); // 以写入模式打开文件
    fprintf(fp, "%s", str); // 向文件中写入字符串
    fclose(fp); // 关闭文件
    fp = fopen("example.txt", "r"); // 以读取模式打开文件
    char buffer[100];
    fgets(buffer, 100, fp); // 从文件中读取字符串
    printf("%s", buffer); // 输出读取的字符串
    fclose(fp); // 关闭文件
    return 0;
}

2.3 二进制文件操作

c 复制代码
#include <stdio.h>
typedef struct {
    int id;
    char name[20];
} Person;
int main() {
    Person people[2] = {
        {1, "Alice"},
        {2, "Bob"}
    };
    FILE *fp = fopen("people.bin", "wb"); // 以二进制写入模式打开文件
    fwrite(people, sizeof(Person), 2, fp); // 向文件中写入数据
    fclose(fp); // 关闭文件
    Person new_people[2];
    fp = fopen("people.bin", "rb"); // 以二进制读取模式打开文件
    fread(new_people, sizeof(Person), 2, fp); // 从文件中读取数据
    fclose(fp); // 关闭文件
    for (int i = 0; i < 2; i++) {
        printf("ID: %d, Name: %s\n", new_people[i].id, new_people[i].name);
    }
    return 0;
}

结语

以上就是小编对文件操作的详细讲解。

如果觉得小编讲的还可以,还请一键三连。互三必回!

持续更新中~!

相关推荐
Peter_Deng.4 小时前
Linux 下基于 TCP 的 C 语言客户端/服务器通信详解(三个示例逐步进阶)
服务器·c语言·网络
John.Lewis6 小时前
数据结构初阶(13)排序算法-选择排序(选择排序、堆排序)(动图演示)
c语言·数据结构·排序算法
丑小鸭是白天鹅9 小时前
嵌入式C语言学习笔记之枚举、联合体
c语言·笔记·学习
GUET_一路向前10 小时前
【C语言防御性编程】if条件常量在前,变量在后
c语言·开发语言·if-else·防御性编程
pusue_the_sun11 小时前
数据结构——栈和队列oj练习
c语言·数据结构·算法··队列
Dontla12 小时前
Makefile介绍(Makefile教程)(C/C++编译构建、自动化构建工具)
c语言·c++·自动化
奶黄小甜包12 小时前
C语言零基础第18讲:自定义类型—结构体
c语言·数据结构·笔记·学习
一支闲人12 小时前
C语言相关简单数据结构:双向链表
c语言·数据结构·链表·基础知识·适用于新手小白
John.Lewis13 小时前
数据结构初阶(19)外排序·文件归并排序的实现
c语言·数据结构·排序算法
John.Lewis13 小时前
数据结构初阶(16)排序算法——归并排序
c语言·数据结构·排序算法