C语言超详细文件操作基础下篇

标题:C语言超详细文件操作基础下篇

文件操作的基本概念

文件是存储在外存储器中的数据集合,一般可分为文本文件和二进制文件。在文件操作中,常用的函数有打开文件函数fopen()、读文件函数fread()、写文件函数fwrite()、关闭文件函数fclose()、移动文件指针函数fseek()、删除文件函数remove()等。

文件打开函数 fopen()

函数原型:FILE *fopen(const char filename, const char mode);

  • filename是文件名,可以是绝对路径或相对路径,需要注意字符串中需要使用双斜杠"\"
  • mode是以什么方式打开文件,包括"r"读取、"w"写入、"a"追加、"r+"读写、"w+"读写(覆盖)等

示例1:创建并写入文件

#include <stdio.h>

int main()
{
   FILE *fp;
   fp = fopen("test.txt", "w+");
   fputs("This is a test!", fp); 
   fclose(fp);
   return 0;
}

文件读操作函数 fread()

函数原型:size_t fread(void ptr, size_t size, size_t count, FILE stream);

  • 参数ptr是存储读取数据的缓冲区
  • 参数size是每一项的字节数
  • 参数count是读取项数
  • 参数stream是文件指针

示例2:读取文件中的内容并输出

#include <stdio.h>

int main()
{
   FILE *fp;
   char buff[100];
   fp = fopen("test.txt", "r+");
   fseek(fp, 0, SEEK_SET);
   fread(buff, 1, 100, fp);
   printf("%s\n", buff);
   fclose(fp);
   return 0;
}

以上是文件操作的基本内容,掌握这些后,就能实现更多的文件操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言超详细文件操作基础下篇 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • jQuery图片加载显示loading效果

    关于“jQuery图片加载显示loading效果”的完整攻略包括以下几个步骤: 1. 引入jQuery库 首先要确保页面中已经引入了jQuery库的文件。比如: <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></scr…

    other 2023年6月25日
    00
  • chrome谷歌浏览器:您使用的是不受支持的命令行标记:–extensions-on-chrome-urls

    首先,这个命令行标记是指在Chrome浏览器中启用扩展程序管理器的URL,以便为您的扩展程序提供更多的访问和管理权限。但是,这个命令行标记在目前的Chrome版本中已经不受支持了,所以当您尝试使用该标记时,Chrome浏览器会提示“您使用的是不受支持的命令行标记:–extensions-on-chrome-urls”。 要解决这个问题,您可以尝试下面的解决…

    other 2023年6月26日
    00
  • Android UI设计系列之自定义DrawView组件实现数字签名效果(5)

    首先,需要明确这篇文章的主要内容为如何通过自定义DrawView组件实现数字签名效果。为了实现这个目的,需要遵循以下步骤: 首先,在xml布局文件中创建DrawView组件,并设置其大小等参数。 <com.example.drawviewdemo.DrawView android:id="@+id/draw_view" androi…

    other 2023年6月25日
    00
  • centos7增加永久静态路由

    CentOS7增加永久静态路由 在 CentOS 7 中,我们可以通过添加永久静态路由来实现使某些 IP 地址或网段走指定的网卡和路由。本文将介绍如何在 CentOS 7 中配置添加基于网关的静态路由。 确定网关 在 CentOS 7 中增加永久静态路由需要知道目标网段或 IP 所在的网关。我们可以通过执行以下命令来查看当前主机所连接的网关: route -…

    其他 2023年3月28日
    00
  • golang通过递归遍历生成树状结构的操作

    下面是详细讲解 golang 通过递归遍历生成树状结构的操作的完整攻略。 操作步骤 定义节点结构体 首先需要定义节点结构体,表示每一个节点的信息。 type Node struct { ID int // 节点 ID Name string // 节点名称 ParentID int // 父节点 ID Children []*Node // 子节点 } 创建…

    other 2023年6月27日
    00
  • C语言实现斐波那契数列(非递归)的实例讲解

    C语言实现斐波那契数列(非递归)的实例讲解 什么是斐波那契数列 斐波那契数列是指这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列是以递归的方式定义:F(0) = 0,F(1) = 1,F(n) = F(n-1) + F(n-2) (n>=2,n∈N*),用文字来说,就是斐波那契数列列由0和1开始,之后的斐波那契数就…

    other 2023年6月27日
    00
  • vue 封装一个高质量的表单通用组件

    下面是关于“vue 封装一个高质量的表单通用组件”的完整攻略: 第一步:明确需求 在开始开发之前,我们需要明确这个通用表单组件的使用场景以及需求。假设这个组件需要支持以下功能: 对表单进行校验,确保用户填写的信息符合要求; 实现一些自定义的表单项,例如日期选择器、下拉框等; 构建方便、易于维护的表单结构; 显示错误信息和成功提示信息,使用户有良好的交互体验。…

    other 2023年6月25日
    00
  • 通过sql语句将blob里的char取出来转成数字保存在其它字段

    要将 blob 字段中的 char 类型数据转换成数字类型并保存在其它字段中,我们可以使用以下步骤: 在数据库表中新建一个列,用于保存转换后的数字。 通过 SQL 语句查询表中 blob 字段的数据,并使用 CAST 函数将其转换成 char 类型。 将 char 类型数据转换成数字,并用 UPDATE 语句将其存入新建的列中。 以下是两条示例说明: 假设我…

    other 2023年6月25日
    00
合作推广
合作推广
分享本页
返回顶部