C语言葵花宝典之——文件操作

这篇具有很好参考价值的文章主要介绍了C语言葵花宝典之——文件操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

在之前的学习中,我们所写的C语言程序总是在运行结束之后,就会自动销毁,那如果我们想将一个结果进行长期存储应该如何操作呢?这时候就需要我们用文件来操作。

目录

1、什么是文件?

1.1 程序文件

1.2 数据文件

1.3 文件名

2、二进制文件和文本文件

2.1 文本文件:

2.2 二进制文件:

3、文件的打开和关闭

3.1 fopen() 函数

​编辑

3.2 fprintf() 函数

3.3 fputc() 函数


1、什么是文件?

文件就是我们硬盘中存在的文件,例如C盘、D盘中的内容

我们常讲的文件有程序文件和数据文件两种

1.1 程序文件

程序文件包括源程序文件 (后缀为 .c )、目标文件(后缀为 .obj )、可执行程序(后缀为 .exe )这三种,这不是我们今天要讲的重点

1.2 数据文件

文件的内容除了是程序,还可能是程序运行的数据,比如可能是程序结果输入的那个文件,或者是从一个文件中读取内容。

1.3 文件名

文件名实际上也就是文件表示,是用来帮助用户找到指定文件的

例如:c:\ add \ test.txt

C语言葵花宝典之——文件操作,c语言,开发语言,visual studio

2、二进制文件和文本文件

二进制文件和文本文件是计算机中常见的两种文件类型,它们在存储和处理方式上有所不同。

2.1 文本文件:

  • 文本文件是以人类可读的字符组成的文件,通常使用ASCII或Unicode编码。
  • 文本文件包含的是文本数据,如文本文档、代码文件等。
  • 文本文件可以直接在文本编辑器中打开并查看,易于理解和编辑。
  • 换行符在文本文件中通常以特定的字符表示(如"\n")。
  • 文本文件的大小通常以字符数或字节数来衡量。

2.2 二进制文件:

  • 二进制文件是以计算机可识别的二进制数据组成的文件,可以包含任意数据类型,如图像、音频、视频等。
  • 二进制文件不是以文本形式存储,无法直接在文本编辑器中打开查看,需要特定的程序来解析和处理。
  • 二进制文件的内容是以字节为单位存储的,不具有人类可读性。
  • 换行符在二进制文件中没有特定表示方式,可能会以特定的字节序列表示。
  • 二进制文件的大小通常以字节数来衡量。

简单来说,文本文件我们一般是直接可读的,而二进制文件则一般需要经过操作后才可读

下面给出一个二进制写入的程序:

#include<stdio.h>
int main()
{
    int a = 10000;
    FILE* pf = fopen("test.txt", "wb");
    fwrite(&a, 4, 1, pf);//二进制的形式写入文件中
    fclose(pf);
    pf = NULL;
}

运行后:

C语言葵花宝典之——文件操作,c语言,开发语言,visual studio

你会发现我们存进去的a的值是以一种我们看不懂的方式存储的,这实际上就是二进制存储

3、文件的打开和关闭

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

一般我们是通过一个FILE*指针变量来指向该文件,FILE*指针是再打开一个文件的时候必须创建的,这就相当于文件的指针,我们可以通过创建一个这样的变量指向指针

规定中,我们用fopen来打开文件,用fclose来关闭文件

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

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

mode表示文件的打开模式,主要有以下几种模式:

C语言葵花宝典之——文件操作,c语言,开发语言,visual studio

文件写入实例:

3.1 fopen() 函数

fopen() 函数用于打开一个文件,并返回一个文件指针,以便后续的读写操作。该函数的原型如下:

FILE *fopen(const char *filename, const char *mode);

其中,filename是要打开的文件名,mode指定打开文件的模式(如"r"表示只读,"w"表示只写,"a"表示追加等)。

应用实例:

#include <stdio.h>

int main() {
    FILE *fp;
    fp = fopen("example.txt", "w");
    if (fp == NULL) {
        printf("文件打开失败\\n");
        return 1;
    }
    fprintf(fp, "Hello, World!\\n");
    fclose(fp);
    return 0;
}

C语言葵花宝典之——文件操作,c语言,开发语言,visual studio

3.2 fprintf() 函数

fprintf() 函数用于将格式化的数据写入文件。其原型如下:

int fprintf(FILE *stream, const char *format, ...);

其中,stream是文件指针,format是格式化字符串,类似于printf()函数的用法。

应用实例:

#include <stdio.h>

int main() {
    FILE *fp;
    fp = fopen("example.txt", "w");
    if (fp == NULL) {
        printf("文件打开失败\\n");
        return 1;
    }
    int num = 42;
    fprintf(fp, "The answer is: %d\\n", num);
    fclose(fp);
    return 0;
}

3.3 fputc() 函数

fputc() 函数用于将一个字符写入文件。其原型如下:

int fputc(int character, FILE *stream);

其中,character是要写入的字符,stream是文件指针。

应用实例:

#include <stdio.h>

int main() {
    FILE *fp;
    fp = fopen("example.txt", "w");
    if (fp == NULL) {
        printf("文件打开失败\\n");
        return 1;
    }
    fputc('A', fp);
    fclose(fp);
    return 0;
}

通过使用这些文件写入函数,我们可以轻松地在C语言中实现文件写入操作。记得在写入完成后关闭文件,以释放资源并确保数据写入磁盘。

其他函数的用法和功能如下:

C语言葵花宝典之——文件操作,c语言,开发语言,visual studio

其实文件的读取和写入就是对这些函数的理解和使用,熟悉这些函数的使用方法,就可以很好的进行文件的写入与写出,具体知识也没有多少,重在上机操作,多应用几遍就好了,如果在实操中遇到不懂的地方,欢迎私信我或者在评论区指出

创作不易,还请一键三连文章来源地址https://www.toymoban.com/news/detail-841057.html

到了这里,关于C语言葵花宝典之——文件操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【运维安全】运维界葵花宝典:Nginx配置与优化秘籍

    必要的原理介绍 ● Nginx 里有一个master进程和多个worker进程.master进程并不处理网络请求,主要负责调度工作进程: 加载配置,启动工作进程及非停升级.worker进程负责处理网络请求与响应. ● master进程主要用来管理worker进程,具体包括如下4个主要功能: 接收来自外界的信号 向各wo

    2024年02月21日
    浏览(40)
  • visual studio 生成dll文件以及修改输出dll文件名称操作

    Windows系统下Visual Studio可以通过.def文件创建dll。 1.确定需要导出的函数,test.cpp文件中定义如下 2. 添加 .def文件,一般添加到源文件下面。 * 在代码栏下面有一个“模块定义文件”,即我们的.def文件 3.编写test.def文件 文件添加完成,下一步即可设置一些导出规则。 4.在我们的

    2024年02月14日
    浏览(37)
  • C语言之开发工具:Visual Studio 2022安装教程

    一,C 语言 C 语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的。C 语言最开始是于 1972 年在 DEC PDP-11 计算机上被首次实现。在 1978 年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)制作了 C 的第一个公开可用的描述

    2024年02月05日
    浏览(44)
  • 【Visual Studio】Qt 在其他 cpp 文件中调用操作 ui 界面控件

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 还整了一个如何相互之间调用函数的文章,感兴趣可以看:【Visual Studio】Qt 在其他 cpp 文件中调用主工程下文件中的函数。 主界面工程为 A ,添加的文件名字为 test ,目标是在

    2024年02月05日
    浏览(43)
  • 【简单教程】如何用Visual Studio来新建C语言文件(.c后缀)

    前言   用Visual Studio来 配置c语言环境 的方法就不说了,网上有教程,这里放两个不错的教程C语言/C++初学——Visual Studio环境的安装配置与使用 - 知乎 (zhihu.com)VS2019搭建C语言开发环境(图文教程)_vs c语言_DeRoy的博客-CSDN博客 正文  接下来我们开始正文,我们会发现Visual Stud

    2024年02月11日
    浏览(43)
  • C语言学习1--------Visual Studio集成开发环境的搭建

    建议初学者适用最新的——Visual Studio 2019为集成开发环境。 部分学校可能正在适用——VC++6.0,全称是Visual C++6.0。在当今的角度来看,VC++6.0已经比较古老,几乎没有公司会以VC++6.0作为开发环境进行开发了。 可能有些人认为Visual Studio太过庞大,并且项目组织较为复杂,不太适

    2024年02月08日
    浏览(45)
  • 【VisualStudio】基于 Visual Studio 使用 C++ 语言开发 Qt 环境配置教程

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 先上一张效果图,具体步骤主要分为以下三步。 这一步不再赘述,注意一定要安装 C++ 语言。 可以参考这个教程 Visual Studio 2022安装与使用教程。 这一步也不再赘述,网上搜索教

    2024年02月15日
    浏览(56)
  • 【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 我要使用的功能比较简单,主要包含扫描串口、打开串口、发送数据、接收数据、暂停按钮、停止按钮,因此接下里将围绕这几个功能依次更新。 我的工程项目名字叫 “GUI”。

    2024年02月11日
    浏览(60)
  • NRCE 二级C语言开发环境:Microsoft Visual C++ 2010 学习版下载

    Microsoft Visual C++ 2010 学习版 2022版考纲 网盘链接:点击下载 提取码:siyy 网盘地址下载太慢可以到:官网下载 下载完成后,是一个iso镜像文件,点击上方装载。 装载完成后,可以看到计算机处有个无穷图标的DVD驱动器 现在就可以去到你安装磁盘目录下的IDE目录(星号中间的

    2024年02月11日
    浏览(46)
  • 【Visual Studio】报错 C2653,使用 C++ 语言,配合 Qt 开发串口通信界面

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 这个 Bug 是我做这个工程时遇到的:【Visual Studio】Qt 的实时绘图曲线功能,使用 C++ 语言,配合 Qt 开发串口通信界面。 使用 C++ 语言,配合 Qt 开发串口通信界面,在添加 Widget 做

    2024年02月11日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包