【C语言文件读写代码用法示例】
C语言fread和fwrite的用法详解(以数据块的形式读写文件)
从键盘输入一个数组,将数组写入文件再读取出来。
文件的后缀不一定是 .txt,它可以是任意的,你可以自己命名,例如 demo.ddd、demo.doc、demo.diy 等。
话不多说直接上代码
【示例】从键盘输入两个学生数据,写入一个文件中,再读出这两个学生的数据显示在屏幕上。
#include<stdio.h>
#define N 2
struct stu{char name[10]; //姓名int num; //学号int age; //年龄float score; //成绩
}boya[N], boyb[N], *pa, *pb;
int main(){FILE *fp;int i;pa = boya;pb = boyb;if( (fp=fopen("d:\\demo.txt", "wb+")) == NULL ){puts("Fail to open file!");exit(0);}//从键盘输入数据printf("Input data:\n");for(i=0; i<N; i++,pa++){scanf("%s %d %d %f",pa->name, &pa->num,&pa->age, &pa->score);}//将数组 boya 的数据写入文件fwrite(boya, sizeof(struct stu), N, fp);//将文件指针重置到文件开头rewind(fp);//从文件读取数据并保存到数据 boybfread(boyb, sizeof(struct stu), N, fp);//输出数组 boyb 中的数据for(i=0; i<N; i++,pb++){printf("%s %d %d %f\n", pb->name, pb->num, pb->age, pb->score);}fclose(fp);return 0;
}
数据写入完毕后,位置指针在文件的末尾,要想读取数据,必须将文件指针移动到文件开头,这就是rewind(fp);的作用。
运行结果:
Input data:
Tom 2 15 90.5
Hua 1 14 99
Tom 2 15 90.500000
Hua 1 14 99.000000
【C语言文件读写代码用法示例】相关推荐
- C语言文件读写(1)-文本文件读操作
C语言文件读写--文本文件读操作 最近和几个初学C语言的朋友讨论文件读写,发现他们在使用C语言文件读写功能的时候遇到了不少问题,不是文件打开方式有问题,就是文件读写有问题,总是得不到自己想要的结果. ...
- C语言入门教程||C语言 文件读写||C语言 预处理器
C语言 文件读写 本章我们将介绍 C 程序员如何创建.打开.关闭文本文件或二进制文件. 一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节.C 语言不仅提供了访问顶层的函数,也提供了底层 ...
- C语言文件读写(4)-判断文件是否结束
C语言文件读写-判断文件是否结束 在读文件的时候,很重要的一个条件是:文件是否结束,因为文件已经结束了,就不用继续读文件了. 判断文件结束,有许多方式,比如读取文本文件和二进制文件就可以使用不同的方式 ...
- C语言 文件读写 EOF - C语言零基础入门教程
目录 一.EOF 简介 二.EOF 实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.EOF 简介 EOF 是 End Of Fi ...
- vs调用css写的c语言程序,c语言文件读写实例
#include"ccn.h" main(){FILE *in,*out; char ch,infile[10],outfile[10文件使用方式 意义 "rt" ...
- c语言文件写入函数有哪些,c语言文件读写函数有哪些?
c语言文件读写函数有:"fgetc"和"fputc"(字符读写函数)."fgets"和"fputs"(字符串读写函数). ...
- C语言文件读写(5)-文件位置相关
C语言文件读写(5)-文件位置相关 当打开一个文件以后,无论是读还是写,都有一个指示文件位置的这么一个东西,我们可以称之为文件的位置指示器或者文件位置指针,文件位置指示器指明了当前文件读或者写的位置信 ...
- C语言文件读写(3)-二进制文件读写操作
C语言文件读写-二进制文件读写操作 先说说什么是二进制文件,二进制文件是相对于文本文件而言的,文本文件是由一行一行的字符的有序序列组成的.二进制文件就没有行的概念了,也是由有序的字符组成的,但是在写入 ...
- C语言文件读写(2)-文本文件写操作
C语言文件读写-文本文件写操作 在上一篇中介绍了如何读取文本文件 https://blog.csdn.net/zhanghaiyang9999/article/details/107032563 这一 ...
最新文章
- 排列和组合简单的递归思路以及C++实现
- java 80端口_Java80端口占用异常解决方法
- Java数组的基本操作方法整理
- html通过php获取mysql数据_怎样借助PHP从HTML网页中获取phpmyadmin数据库里数据表的内容...
- 最小花费(最短路变形+中南大学复试机试)
- docker安装mysql并配置文件_Docker安装mysql,并自定义my.cnf
- 传感器实验——蜂鸣器
- 《秘密》读后感之秘密的揭露和法则
- Nginx+Tomcat 负载均衡+动静分离
- (ISC)2官方中国CISSP授权培训服务提供商正式启动
- UltraLight 卡存储结构
- 在word/wps插入代码+保持源代码风格+加行号
- Java-mysql:常用SQL语句及数据库的相关操作
- oracle用户密码不被锁,Oracle用户密码过期和用户被锁解决方法【转】
- Flutter开发相比React-Native优势在哪里?高手为你答疑解惑!
- 10句民间俗语,感悟古人智慧
- 如何在项目中引用字体包
- 《商务与经济统计》Python实现笔记(三)
- 【LeetCode】49.字母异位词分组 (三种解法开拓思路,java实现)
- C10K问题:是时候让Web服务器同时处理一万个客户端了
热门文章
- 柯文哲《生死的智慧》
- 安装angular ng-zorro
- 苹果5概念机_vivo 概念手机发布了,未来的手机就长这样
- 已解决WARNING: This is a development server. Do not use it in a production deployment. Use a production
- 工艺包【2】:工业机器人绘制肖像
- 关于七牛上传、下载高并发说明,以及七牛分片下载实际运用
- Elasticsearch之文本搜索(十三)
- 正则表达式王国奇遇记
- 从构建进程间缓存设计谈Webpack5 优化和工作原理
- JavaWeb(四)——MyBatis(持久层框架)