【看完就会】零基础学习文件操作

C语言零基础完全学习指南(小白也能看懂) 《C语言零基础完全学习指南》系统性地介绍了C语言的核心知识与学习路径。内容涵盖:基础认知(面向过程特性、应用领域)、开发环境配置(编译器选择、IDE推荐)、语法体系(数据类型、运算符、控制结构)、函数与指针机制、内存管理技巧、文件操作方法,以及进阶学习方向(数据结构、系统编程)和调试技术。指南强调实践驱动,提供代码示例和工具推荐,适合初学者建立完整知识框架,建议配合每日编程练习和项目实践,逐步提升编程能力。 阅读详情

一、为什么使用文件?

一般来说,我们所写的程序代码的数据都是储存在电脑的内存当中。
但是,当我们退出程序的话,内存就会回收,我们的数据就会丢失。等再次运行程序,是看不到上次程序的数据的。
这个时候我们就认识到了文件的重要性:将数据进行持久化的保存


二、什么是文件?

🔺硬盘(磁盘)上的文件是文件

🔺但是在程序设计中我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)

1.1 程序文件

程序文件包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)

1.2 数据文件

🔺文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件。
🔺本章讨论的时数据文件
🔺在以前各章所处理数据的输入输出都是以终端为对象的,即从终端的键盘输入数据,运行结果显示到显示器上
🔺其实有时候我们会把信息输出到磁盘上,当需要的时候再从磁盘上把数据上把数据读取到内存中使用,这里到处理的就是磁盘上文件。

2.3 文件名

1.一个文件要有一个唯一的文件标识,一边用户识别和应用。
2.文件名包含三部分:文件路径+文件名主干+文件后缀
例如:c:\code\test.txt
为了方便起见,文件标识常被称为文件名


三、二进制文件和文本文件?

★根据数据的组织形式,数据文件被称作为文本文件或者二进制文件
★数据在内存中以二进制的形式储存,如果不加转换的输出到外存,就是二进制文本。
★如果要求在外存上以ASCLL码的形式储存,则需要在存储前转换。以ASCLL字符的形式储存的文件就是文本文件

一个数据在内存中是以什么样的方式存储呢?

  1. 字符一律以ASCLL形式存储,数据型类型既可以用ASCLL形式存贮,也可以用二进制形式存储。
  2. 如果有整数10000,如果以ASCLL码的形式输出到磁盘,则磁盘中占用5个字节(每个字符一个字节),而二进制形式输出,则在磁盘上只占4个字节。

在这里插入图片描述


四、文件的打开和关闭

4.1 流和标准流

4.1.1 流

我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输入输出操作各不相同,为了方便程序员对各种设备进行方便的操作,我们抽象出了流的概念,我们可以把流想象成流淌着字符的河。
C程序针对文件、画面、键盘等的数据输入输出操作都是通过流操作的。
-般情况下,我们要想向流里写数据,或者从流中读取数据,都是要打开流,然后操作。

4.1.2 标准流

那为什么我们可以从键盘输入数据,直接面向屏幕上输出数据,并没有打开流呢?

那是因为c语言程序再启动的时候,默认打开了3个流
⚪ srdin-标准输入流,在大多数的环境中从键盘输入,scanf函数就是从标准输入流中读取数据的。
⚪ stdout-标准输出流,在大多数的环境中输出至显示器界面,printf函数就是将这些信息输出到标准输出流中。
⚪ sedrr-标准错误流,大多数环境中输出到显示器界面。

这是默认打开三个流,我们使用scanf、printf等函数就可以直接进行输入输出操作的。

srdinscanf
stdoutprintf

(`Θ´):stdin、stdout、stderr三个流的类型是:FILE*,通常成为文件操作

(・・):c语言中,就是通过FILE*的文件指针来维护流的各种操作的。

4.2 文件指针

🔺缓冲文件系统中,关键的概念是文件指针类型,简称文件指针。
每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的名字,文件状态以及文件当前位置等)。这些信息是保存再一个结构体变量中的。该结构体类型是由系统声明的,取名 ** FILE **

例如:VS2013编译环境提供的 stdio.h头文件中有以下的文件类型声明

struct_iobuf{
    char *_ptr;
    int _cut;
    char *_base;
    int _flag;
    int _file;
    int _charbuf;
    int _bufsiz;
    char *_temfname;
};
typedef struct _iobuf FILE;

不同的c编译器的FILE类型包含的内容不完全相同,但是大同小异
每当打开一个文件的时候,系统会根据文件的情况自动创建一个FILE结构的变量,并填充其中的信息,使用者不必关心细节。
一般都是通过一个FILEd指针来维护这个FILE结构的变量,这样使用起来更加方便。

下面来创建一个变量FILE*的指针变量

FILE* pf;    //文件指针变量

定义pf是一个指向FILE类型数据的指针变量。可以使pf指向某个文件的文件信息区(是一个结构体变量)。通过该文件信息区中的信息就能够访问该文件。也就是说,通过文件指针变量能够间接找到与它相关联的文件。

☆for example:
在这里插入图片描述

4.3 文件的打开和关闭

文件再读写之前应该先打开文件,在使用结束之后应该关闭文件。

在编写程序的时候,再打开文件的同时,都会返回一个FILE*的指针变量指向该文件,也相当于建立了指针和文件的关系。

🔺ANSIC规定使用 fopen 函数来打开文件, fclose来关闭文件。

    //打开文件
    FILE* fopen(const char* filename, const char* mode);

    //关闭文件
    int fclose(FILE * stream);

🔺mode表示文件的打开模式,下面都是文件的打开模式:

文件使用方式含义如果指定文件不存在
“r” (只读)为了数据,打开一个已经存在的文本文件出错
“w”(只写)为了数据,打开一个文本文件建立一个新的文件
“a” (追加)向文本文件尾添加数据建立一个新的文件
“rb” (只读)为了数据,打开一个二进制文件出错
“wb”(追加)为了数据,打开一个二进制文件建立一个新的文件
“ab”(追加)向一个二进制文件尾添加数据建立一个新的文件
“r+”(读写)为了读和写,打开一个文本文件出错
“w+”(读写)为了读和写,建立一个新的文件建立一个新的文件
“a+”(读写)打开了一个文件,在文件尾进行续写建立一个新的文件
“rb+”(读写)为了读和写,新建一个新的二进制文件出错
“wb+”(读写)为了读和写,新建了一个新的二进制文件建立一个新的文件
“ab+”(读写)打开一个二进制文件,在文件尾进行读和写建立一个新文件

实例代码

/*fopen fclose example*/
#include <stdio.h>

int main() {
    FILE* pFile;
    //打开文件
    pFile = fopen("myfile.txt", "w");   //如果打开文件失败,返回空指针
    //文件操作
    if (pFile != NULL)
    {
        fputs("fopen example", pFile);
        //关闭文件
        fclose(pFile);
    }
    return 0;
}

五、文件的顺序和读写

5.1顺序读写函数介绍

函数名功能适用于
fgets字符输入函数所有输入流
fputs字符输出函数所有输出流
fgets文本行输入函数所有输入流
fputs文本行输出函数所有输出流
fscanf格式化输入函数所有输入流
fprintf格式化输出函数所有输出流
fread二进制输入文件
fwrite二进制输出文件

上面说的使用与所有输入流一般指的是适用于标准输入流和其他输入流(如文件输入流);所有输入流一般指的是适用于标准输出流和其他输出流(如文件输出流)

5.2对比三组函数

函数名作用
scanf针对标准输入(键盘)的格式化输入函数
printf针对标准输出(屏幕)的格式化的输出函数
fscanf针对所有输入流的格式化输入函数
fprintf针对所有输出流的格式化输出
sscanf从一个字符串中读取一个格式化的数据
sprintf把一个格式化的数据转换成字符串

六、文件的随机读写

6.1 fseek

⭐根据文件指针的位置和偏移量来定位文件指针。(文件内容光标)

int fseek(FILE *stream, long int offset, int origin)
                       //偏移量           //从哪开始偏移

例子:

/*fseek example*/
#include <stdio.h>

int main() {
    FILE* pFile;
    //打开文件
    pFile = fopen("example.txt", "wb");
    fputs("This is an apple.", pFile);
    fclose(pFile);
    return 0;
}

在这里插入图片描述

6.2 ftell

⭐返回文件指针相对于位置的偏移量

long int ftell(FILE *stream);

例子

/*ftell example : getting size of a file*/
#include <stdio.h>

int main() {
    FILE* pFile;
    //打开文件
    long size;
    pFile = fopen("myfile.txt", "rb");
    if (pFile == NULL) {
        printf("打开失败");
    }
    else {
        fseek(pFile, 0, SEEK_END);// non-portable
        size = ftell(pFile);
        fclose(pFile);
        printf("size of myfile.txt:%ld bytes. \n", size);
    }
    return 0;
}

在这里插入图片描述
注:文件的打开都是在编程内存的跟目录里面执行的喔~

6.3 rewind

让文件指针的位置回到文件的起始位置

参数stream是要重新定位的文件流。调用rewind()将文件指针移动到文件开头,但不会清空文件缓冲区。这意味着下一次fread()或fscanf()等函数调用将从文件开头读取数据,而不是从文件指针的当前位置继续读取。

例如,以下代码演示了如何使用:

void rewind(FILE *stream);

例子:

#include <stdio.h>

int main() {
    FILE* fp = fopen("example.txt", "r");
    if (fp == NULL) {
        perror("Error opening file");
        return 1;
    }

    char buffer[50];
    fgets(buffer, sizeof(buffer), fp);
    printf("First line: %s\n", buffer);

    rewind(fp);

    fgets(buffer, sizeof(buffer), fp);
    printf("Second line: %s\n", buffer);

    fclose(fp);
    return 0;
}

在这里插入图片描述

在上面的示例中,我们打开了一个名为example.txt的文件,并使用fgets()函数读取了文件的第一行。然后,我们使用rewind()函数将文件指针重新定位到文件开头,并再次使用fgets()函数读取文件的第一行。注意,第二次读取的数据与第一次相同。最后,我们关闭了文件。


七、文件读写结束的判定

7.1 被错误使用的feof

🔺ferror --> 判断是否遇到错误

牢记:在文件读取过程中,不能用feof函数的返回值直接来判断文件的是否结束。
feof的作用是:当文件读取结束的时候,判断是读取结束的原因是否是:遇到文件尾结束。

  1. 文本文件读取是否结束,判断返回值是否为 EOF(fget),或者NULL(fgets)

例如:
⚪fgetc判断是否为EOF
⚪fgets判断返回值是否为NULL

  1. 二进制文件的读取结束判断,判断返回值是否小于实际要读的个数

例如:
⚪fread判断返回值是否小于要读的个数。


八、文件缓冲区

ANSIC标准采用**“缓冲文件系统”处理的数据文件的,所谓缓冲文件系统是指系统自动地在内存中为程序中每一个正在使用的文件开辟一块“文件缓冲区”**。从内存向磁盘输出数据会先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘上。如果从磁盘向计算机读入数据,则从磁盘文件中读取数据输入到内存缓冲区(充满缓冲区),然后再从缓冲区逐个地将数据送到程序数据区(程序变量等)。缓冲区的大小根据C编译系统决定的。

在这里插入图片描述
因为有缓冲区的存在,c语言在操作文件的时候,需要做刷新缓冲区或者在文件操作结束的时候关闭文件。 如果不做,可能导致读写文件的问题


完

IAR for ARM 搭建STM32F103C8T6工程模板(实战指南) 本文详细介绍了如何在IAR for ARM开发环境中为STM32F103C8T6微控制器搭建完整的工程模板。从环境准备、固件库获取、目录结构设计到工程配置与编译调试,提供了实战指南和常见问题解决方案,帮助开发者快速建立稳定的STM32开发环境。 阅读详情

相关推荐

MQTT在智能家居中的实战:用Android手机控制ESP8266设备(基于EMQX)

本文详细介绍了如何利用MQTT协议构建一个完整的智能家居控制系统,通过Android手机App远程操控ESP8266设备。文章提供了从EMQX服务器部署、ESP8266端Arduino固件开发到Android客户端搭建的完整实战指南,并深入探讨了系统联调、稳定性优化与安全加固等关键环节,为物联网开发者提供了一套可复用的解决方案。

ujm567890的博客 457

文件操作详解(超级详细)

文件是指存储在外部存储介质上的、由文件名标识的一组相关信息的集合。由于CPU 与 I/O 设备间速度不匹配。为了缓和 CPU 与 I/O 设备之间速度不匹配矛盾。文件缓冲区是用以暂时存放读写期间的文件数据而在内存区预留的一定空间。使用文件缓冲区可减少读取硬盘的次数。

loss_rose777的博客 1万+

qt下使用grpc编程(2) —— 练手!自己改的一个简单小例子!1

(1)在研究了grpc官方提供的helloworld例程后,自己试着写了个小程序。 (2)编写proto文件。 proto文件用于定义服务和消息,用protobuf的语法编写,protobuf是一种通信协议,详细请百度。下面附上源码: syntax = "proto3"; option java_multiple_files = true; option java_pac

u011099079的博客 3925

文件操作C语言

2.1程序文件2.2数据文件2.3文件名3.二进制文件和文本文件4.文件的打开和关闭5.文件的顺序读写。

sjy123456__的博客 671

abaqus 根据坐标施加载荷- Analytical Field 载荷映射

在一些类型的分析中,需要将按位置分布的载荷施加到结构上,比如流体分析导出了结构的气动载荷、或者温度载荷,需要将压强分布、温度分布载荷施加到固体上。这种分析可以使用abaqus中的Analytical Field实现。 1 例子 1.1 结构 一个100*100mm的面,面的载荷分布函数为p=(x2+y2)0.5/((20.5)*100) MPa,即(0, 0)的压强为0,(100, 100)的压强为1。 1.2 载荷 载荷函数:p=(x^2+y^2)^0.5/((2^0.5)*100) in exce.

shengyutou的博客 2万+

S7-1200与ABB机器人进行SOCKET通信的具体方法示例

S7-1200与ABB机器人进行SOCKET通信的具体方法示例

Robot_PLC_HMI_Automation 3296

文件操作详解

详细讲解文件操作的相关内容,让你深度理解掌握文件操作!

KLZUQ的博客 3198

YOLO26涨点改进 | 全网独家创新,注意力改进篇 | TGRS 2025 | 引入APCM自适应像素级协同机制,动态增强目标区域、抑制背景噪声,助力YOLO26做红外小目标检测有效涨点

本文提出一种基于APCM模块改进的YOLO26网络模型,通过像素级局部-全局协同建模动态增强目标特征并抑制背景噪声。APCM模块采用轻量化设计,无需复杂参数,在特征提取阶段有效提升目标区域特征表达质量,尤其适用于低对比度和复杂场景下的目标检测。实验表明,该方法能显著提高小目标检测精度和模型鲁棒性,同时保持较低计算开销。模块通过局部特征分支和全局特征分支的协同融合,实现了对红外小目标的有效增强,在NUAA-SIRST和IRSTD-1K数据集上性能优于现有方法。文章还提供了完整的代码实现和配置指南。

Ai缝合怪、助力小伙伴高效发论文 190

C语言——文件操作(超全超详细)

磁盘上的文件是文件程序文件、数据文件(从文件功能的角度来分类的)

Forward♞的博客 2万+

高通Camx功能feature分析之一:remosaic功能导通

本文详细介绍了S5K3P9S传感器前置场景中SW Remosaic功能的实现流程。首先需在sensorxml中确认支持SW Remosaic类型,并集成remosaic相关库文件(libremosaic_wrapper.so等)。核心实现包括:初始化阶段调用InitFrontSamsungRemosaic();执行线程DeferFrontInitThread()读取校准数据;通过DoSamsungRemosaic()执行remosaic算法处理;最后在析构函数中调用DeinitFrontSamsungRem

1700

安卓App开发 篇三:Android SDK和API

Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳做法、减少模板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者可将精力集中于真正重要的编码工作。hl=zh-cnhl=zh-cnWorkManager 是 Android Jetpack 的一部分,是用于持久性工作的推荐解决方案,适用于需要通过应用重启和系统重新启动来调度的工作,也是后台处理操作的主要推荐 API。立即执行:必须立即开始且很快完成的任务,可以加急,使用和Worker,通过对调用处理加急工作。

生活在别处 1286

【总结】文件操作

文件操作

路u的博客 686

硬件工程师笔试面试高频考点汇总——(2025版)

《硬件工程师笔试面试知识汇总》一文系统梳理了硬件领域的核心知识体系,涵盖电子器件、模拟电路、数字电路等模块。文章详细解析了电阻、电容、电感等基础元件的选型与应用,深入探讨了三极管、MOS管等半导体器件的工作原理,并对比分析了DCDC与LDO等电源方案。在电路设计方面,提供了滤波器、放大器等实用电路的设计方法与仿真案例,同时包含UART、I2C等通信协议的实现要点。文章还整合了戴维宁定理等电路分析理论,并附有美团、联想等名企真题解析。通过器件特性、电路设计、企业真题三维度内容,为硬件工程师构建了完整的知识框架

XU157303764的博客 1万+

Python 零基础学习指南

想象一下,如果编程语言是工具,那么Python就像是一把瑞士军刀 - 简单易用,功能强大!Python的特点: 🎮 第一个Python程序 让我们写第一个程序 - 向世界问好! 运行结果: 🎯 Python能做什么? 领域 应用 热门库 🌐 网站开发 制作网站和API Django, Flask 🤖 人工智能 机器学习、深度学习 TensorFlow, PyTorch 📊 数据分析 数据处理和可视化 Pandas, Matplotlib 🎮 游戏开发 2D游戏制作

qq_48107900的博客 9800

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【Python零基础快速入门系列 | 14】深度学习如何保存训练好的模型,请看数据持久化之文件操作(1)

数据在计算机中有2种存储方式,一种是在内存中,一种是在硬盘中,内存存储运行过程中的数据,如果数据需要掉电或程序退出后仍然能够保存,那么就需要存储到文件中,进行持久化存储。

机器未来的博客 2243

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

[Linux打怪升级之路]-文件操作

在平常我们对于文件的认识都是在window操纵系统下认识,我们建立的目录是文件,文本文档是文件,图片是文件。Linux下一切皆文件。为什么这么说的呢?Linux中所有的内容都是以文件的形式保存的,我们认为普通文件是文件,一个目录我们也称为文件,甚至认为硬件设备(键盘,硬盘,打印机等)是文件。Linux有一个根目录,其他的所以的文件都放在根目录中。经过日积月累, 以下是小编归纳整理的深入了解Java虚拟机文档,希望可以帮助大家过关斩将顺利通过面试。

2401_84519718的博客 1231

【Python 学习计划:从零基础到入门】

通过以上8周的学习计划,你可以从零基础逐步掌握Python的核心知识和技能。学习编程需要不断实践和总结,建议在学习过程中多动手编写代码,并尝试解决实际问题。坚持学习,你一定能够成为一名优秀的Python开发者!

2501_90185960的博客 1250

零基础小白到底该如何学习大语言模型?!看完这篇文章你就懂了!

通过学习大模型课程,可以掌握设计和实现基于大模型的应用系统所需的基本原理和技术,从而提升自己在数据处理、分析和决策制定方面的能力。此外,大模型技术在多个行业中的应用日益增加,掌握这一技术将有助于提高就业竞争力,并为未来的创新创业提供坚实的基础。通过AI分析学生的学习数据,提供量身定制的学习方案,提高学习效果。如果你对大模型感兴趣,可以看看我整合并且整理成了一份AI大模型资料包,需要的小伙伴文末免费领取哦,: Kaggle 提供了大量的数据科学和机器学习比赛,是实践和学习的好地方。实践是学习的最佳途径。

2401_85325726的博客 827

Linux入门教程(非常详细)从零基础入门到精通,看完这一篇就够了

linux系统中一切皆文件/bin是binary的缩写,这个目录存放着最经常使用的命令,通过上方桌面可以看到bin文件夹有个箭头,是链接到 /usr/bin下,相当于快捷方式,进入/bin和/usr/bin下是一模一样的/sbins就是super User的意思,这里存放的是系统管理员使用的系统管理程序。/home存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一版该目录名是以用户的账号命名的。/root该目录为系统管理员,也称为超级权限者的用户主目录。/lib。

2301_76161259的博客 2410

Python零基础学习第四天:文件操作与异常处理

用except Exception as e捕获所有异常,print(e)查看错误信息。文件就像电子笔记本,需要先“翻开”才能读写,用完必须“合上”(防止数据丢失)。:面向对象编程初探——用类描述现实世界(学生类、汽车类、银行账户类):encoding="utf-8" 解决中文乱码问题。:如果尝试用r模式打开不存在的文件会怎样?:读取用户文件时防崩溃。

a_Loki的博客 890

小白如何零基础学习Python:从入门到精通的攻略

Python作为一种简单易学、功能强大的编程语言,近年来越来越受到人们的关注。如果你是一个编程小白,想要学习Python,本文将为你提供一份详细的学习攻略。

WANGJUNAIJIAO的博客 184

零基础开发C#待办事项应用:OOP与文件操作实战

在软件开发的世界里,待办事项应用是一个经典且实用的项目,它不仅能帮助我们管理日常任务,还是学习编程基础和实践面向对象编程(OOP)以及文件操作的绝佳案例。本文将带领零基础的技术人员一步步使用 C# 开发一个简单的待办事项应用,深入理解 OOP 概念并掌握文件操作技巧。

星辰夜语的博客 2141

C++学习28、文件操作

在C++中,文件操作主要通过标准库实现。库提供了三个主要的类:ifstream用于输入(读取)文件,ofstream用于输出(写入)文件,fstream则同时支持输入和输出操作。这些类都是继承自std::iostream,因此可以使用标准I/O流操作函数和方法。

HopeTTHappyXGC的博客 1187

【机器学习-学习计划】零基础快速入门机器学习

本文为机器学习初学者提供了一个为期8周的系统学习计划,旨在帮助学习者掌握机器学习的基本概念、常用算法及实践技能。学习计划分为四个阶段:基础准备、机器学习基础理论、实战项目练习和进阶学习与拓展。建议学习者理论与实践结合,多交流讨论,注重问题解决,逐步积累经验,最终能够运用机器学习解决实际问题。

qq_36453147的博客 2243

C语言零基础9小时动画课程:从指针到文件操作全攻略

编程入门常从C语言开始,其价值在于直接操作内存和底层逻辑,而指针作为核心机制,既是难点也是理解系统运行的钥匙。通过动画可视化方式,零基础学习者可以把抽象的地址、数组和内存模型转化为直观认知。本文对应一套体系化学习路线,涵盖从变量、流程控制到结构体、文件操作的完整链路,并结合计算机二级、期末和考研场景提供刷题与复习策略。无论目标是通过考试,还是扎实掌握编程基础,都可按环境配置、语法、指针专题、高频题目的顺序推进,最终通过字符串逆序、冒泡排序和文件读写案例完成闭环,为后续数据结构与嵌入式开发打下坚实基础。

weixin_28672681的博客 257

【C语言进阶学习笔记】六、详解文件操作(看完这篇,你的文件操作就入门了!)

前言 在之前的学习过程中,我们所编写的程序在执行过程中所产生的数据及结果都只是临时存放在内存区域,一旦程序运行结束,该程序所涉及的内存空间全部返回给操作系统。这时候如果我们想要去查看这些数据和结果,显然是做不到的!那有没有什么方法能够解决这个问题呢?也就是说可以将程序运行过程所产生的过程数据和结果数据都保存起来,即便程序结束,我们也可以找到这些内容,甚至是在之后所写的其他程序中也能继续使用这些内容。 答案当然是-- - 有,这也就是我们这篇文章所要讨论的东西–文件。 文章目录前言为什么需要文件?什么是文.

大家好我叫张同学 1209

零基础学习:5分钟掌握fopen文件操作基础

它的在线编辑器即开即用,不需要配置环境,特别适合新手快速验证代码效果。我测试时发现错误提示很直观,对理解概念很有帮助。这个基础函数,虽然概念简单,但实际使用时总会出现各种小问题。今天就用最直白的方式,带大家快速上手文件操作。这个"开-用-关"的流程就是最基本的文件操作范式。忘记关闭文件就像出门不锁门,可能导致数据丢失。最近在教朋友学C语言时发现,文件操作是许多新手容易卡壳的环节。就像是我们操作文件的"敲门砖"。比如记录日志时,用追加模式就不会覆盖之前的记录。记住这个流程图,就能应对大部分基础场景。

BlackironLynx23的博客 361
上一篇: 【重点】你所知道的最全面的指针讲解!(二)
下一篇: 【数据结构】【排序】其实超级简单啦!
Reuuse
博客等级 码龄3年 611粉丝 72原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Reuuse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值