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

结语

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

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

持续更新中~!

相关推荐
perseveranceX41 分钟前
插入排序:扑克牌式的排序算法!
c语言·数据结构·插入排序·时间复杂度·排序稳定性
himobrinehacken2 小时前
c语言宏注意事项
c语言·开发语言
Molesidy2 小时前
【Embedded System】嵌入式C语言基础知识
c语言·开发语言
无限进步_4 小时前
C语言字符串连接实现详解:掌握自定义strcat函数
c语言·开发语言·c++·后端·算法·visual studio
wydaicls5 小时前
C语言 了解一下回调函数(钩子函数)的使用
c语言·开发语言
Yupureki5 小时前
从零开始的C++学习生活 18:C语言复习课(期末速通)
c语言·数据结构·c++·学习·visual studio
彩妙不是菜喵6 小时前
基于C语言上,面向对象语言:C++基础(学完C语言后再看)
c语言·开发语言·c++
Aurorar0rua9 小时前
C Primer Plus Notes 10
c语言·开发语言·算法
一念&15 小时前
每日一个C语言知识:C 头文件
c语言·开发语言·算法