c语言文件读写

news/2024/10/18 0:26:55/

原理

C语言文件读写的原理是,先打开文件,然后使用fread或fwrite函数读取或写入文件内容。

文件打开的方式有两种:

  • 以写入模式打开文件,使用fopen()函数以"w"作为第一个参数,如果文件不存在则创建文件,如果文件已经存在则清空文件内容。
  • 以读取模式打开文件,使用"r"作为第一个参数,如果文件不存在则创建文件,如果文件已经存在则打开文件进行读取。

文件打开成功后,我们就可以使用fread或fwrite函数读取或写入文件内容了。
fread函数的原型如下:

size_t fread(void *ptr, size_t size, size_t count, FILE *stream);

其中,ptr是指向要读取的数据的指针,size是每个数据项的大小,count是要读取的数据项的个数,stream是文件指针。
fwrite函数的原型如下:

size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);

其中,ptr是指向要写入的数据的指针,size是每个数据项的大小,count是要写入的数据项的个数,stream是文件指针。

以下是一个简单的C语言文件读写操作代码示例:

demo

#include <stdio.h>  int main() {  FILE *fp;  char filename[] = "example.txt";  char ch;  // 打开文件  fp = fopen(filename, "r");  if (fp == NULL) {  printf("Failed to open file.\n");  return 1;  }  // 读取文件内容  while ((ch = fgetc(fp)) != EOF) {  printf("%c", ch);  }  // 关闭文件  fclose(fp);  return 0;  
}

在上面的代码中,我们首先定义了一个文件指针fp,并指定要读取的文件名为example.txt。然后,我们使用fopen函数打开文件,并将文件指针保存在fp变量中。如果文件打开失败,我们将输出一条错误信息并返回1。

接下来,我们使用fgetc函数逐个读取文件中的字符,并将它们输出到屏幕上。当fgetc函数返回EOF时,表示文件已经读取完毕。

最后,我们使用fclose函数关闭文件,并返回0表示程序正常结束。
需要注意的是,在实际应用中,我们应该尽可能地避免使用fopen和fclose函数,而是使用文件操作函数来完成文件的读写操作。


http://www.ppmy.cn/news/55571.html

相关文章

20230427配置cv1826的buildroot在串口免登录的方法二

20230427配置cv1826的buildroot在串口免登录的方法二 2023/4/27 16:46 进度&#xff1a;可以拿掉密码&#xff0c;但是无法拿掉用户名&#xff01; 1、 Z:\buildroot1\buildroot\configs\cvitek_cv182x_defconfig BR2_TOOLCHAIN_EXTERNAL_GCC_6y BR2_TOOL…

简记二分算法模板与代码案例:整数二分和浮点数二分

本文以 Java 语言实现&#xff0c;整理的代码模板适用于编程竞赛。对代码模板原理的讲解不多&#xff0c;主要记录一下如何使用。 目录 一、算法模板 &#xff08;1&#xff09;整数二分 &#xff08;2&#xff09;浮点数二分 二、例题 例题&#xff1a;acwing-789.数的范…

详解达梦数据库字符串大小写敏感

检查数据库实例大小写敏感信息 场景一、初始化数据库实例为大小写敏感库 DDL操作 总结&#xff1a; 大小写敏感的数据库中&#xff1a; 创建表时&#xff1a; ①如果不对表名或列名添加""&#xff0c;那么表名和列名都自动转换为大写形式&#xff1b; ②如果对表…

带你了解现在的LED显示屏技术

随着LED显示屏技术的空前繁荣&#xff0c;LED显示屏产品备受关注&#xff0c;广泛应用于商业广告、实况播映、交通诱导、舞台演绎等领域&#xff0c;发展至今。你了解十大中国LED显示屏制造商吗&#xff1f; LED显示屏技术已经得到了长足的发展&#xff0c;现在的LED显示屏技术…

什么是DHCP?为什么要用DHCP?(中科三方)

在传统网络环境下&#xff0c;网络管理者需要手动为网络内的每一台主机分配IP地址&#xff0c;将硬件地址与IP进行绑定&#xff0c;但这种手动配置的方式一般仅适用于静态环境&#xff0c;且如果网络内的某台主机废置不用还会造成IP地址的浪费。 而随着网络规模的不断扩大以及…

多种内网穿透的实现方案

1. 内网穿透的应用场景 1.1. 开发调试 比如企业微信、钉钉等开发&#xff0c;需要一个回调地址&#xff0c;开发的时候&#xff0c;希望回调到开发的电脑上&#xff0c;打断点进行调试&#xff0c;这就需要穿透到内网的开发机器。 1.2. 演示测试 有需要演示或测试的系统&am…

openEuler社区人才评定考试流程指引

最近因为公司工作的需要参加考试了openEuler社区人才评定考试&#xff0c;本次考试题型主要包括单选、多选、判断三类题型。考试内容基本都是操作系统使用相关的内容。 考试需要注意事项&#xff1a; 1.考试为线上答题考试&#xff0c;需开启摄像头。 2.考试期间请保持周围环…

Whistle安装与使用

1、安装npm 网上搜索安装教程&#xff0c;但是使用npm安装软件的时候一直报错 修复方案&#xff0c;将http改成https 2、安装whistle : npm install whistle -g 以及配置见下面两篇文章 爬虫工具—whistle安装与使用 - 简书 whistle安装以及使用_奔跑的蜗牛_爱阳光的博客-C…