fp=fopen("CD2.dat","wb"); fwrite(&min,8,1,fp); fclose(fp);

Slides:



Advertisements
Similar presentations
电子成绩单项目实现.
Advertisements

跳楼价 亏本大甩卖 清仓处理 买一送一 5折酬宾. 跳楼价 亏本大甩卖 清仓处理 买一送一 5折酬宾.
清仓处理 跳楼价 满200返160 5折酬宾.
補充: Input from a text file
雷 霆 战 机 By—谷恩轩&余万全.
C程序设计 第10章 文 件 主讲教师: 鲁 萍 西安建筑科技大学 理学院.
第十三章 文件.
複習 struct score_Type{ int chinese,english; }; struct my_Type{
C语言程序设计 第十二章 位运算.
C File System.
C 程序设计实例 1. 问题描述 2. 数据结构 3. 算法分析 4. 参考程序 5. 改进说明.
计算概论 第二十一讲 文件操作 北京大学信息学院.
补充内容 结构体 概述 定义结构体类型和定义结构体变量 结构体变量的引用 结构体变量的初始化 指针与结构体 用typedef定义类型的别名.
第10章 文件操作.
第十一章 文件 文件概述 文件操作 文件操作实例 本章小结 作业: 练习:
第10章 文件操作.
C 程式設計— 檔案處理 台大資訊工程學系 資訊系統訓練班.
程序设计专题一 结构化程序设计与递归函数 主讲教师: 刘新国.
11.1 文件的基本概念 11.2 文件的打开与关闭 11.3 文件的顺序读写 11.4 文件的随机读写 11.5 文件检测
第十二章 文件 12.1 C文件概述 文件:存储在外部介质上数据的集合,是操作系统数据管理的单位 文件分类 按文件的逻辑结构: 按存储介质:
6.4.1指针与二维数组 1、二维数组结构的分析 设有数组定义为:int a[3][4]; 则有: a表示数组在内存中的首地址。
算法的基本概念.
第3章 堆栈和队列 堆栈 堆栈应用 队列 队列应用 优先级队列 主要知识点.
第4章 MATLAB文件操作 4.1 文件的打开与关闭 4.2 文件的读写操作 4.3 数据文件定位.
檔案 將資料存入磁碟或由磁碟取出資料的方式, 稱為檔案存取處理。 C語言的檔案處理 C++語言的檔案處理.
程式設計 博碩文化出版發行.
第九章 文件 程序数据标准输入输出设备 程序数据文件 数据流和文件 文件的打开和关闭 文件读写函数.
File(檔案處理) 學習目標:開檔、讀檔、更新檔與關閉檔案.
THE C PROGRAMMING LANGUAGE
第10章 檔案與資料夾處理 10-1 C語言的檔案輸入與輸出 10-2 文字檔案的讀寫 10-3 二進位檔案的讀寫
ACM程序员大赛讲座 _____C语言程序设计要点 讲授人:王敬华.
Linux 文件操作——系统调用和标准 IO 库
第5章 文件.
第9章 文件操作 文件 使用文件的目的 操作系统管理数据的基本单位 存储在外存储器上的数据的集合
第三章 数据类型、运算符与表达式.
2.1 C语言的数据类型 2.2 常量与变量 2.3 变量赋初值 2.4 各类数值型数据间的混合运算 2.5 C语言的运算符和表达式
第5讲 结构化程序设计(Part II) 周水庚 2018年10月11日.
研讨课4 文件操作.
Struct結構 迴圈
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
一、文件的基本概念 第十三章 文 件 所谓“文件”是指一组相关数据的有序集合。 这个数据集有一
第十章 用户自定义数据类型 目录 学生信息管理系统的开发 结构体数据类型的概述 结构体变量的使用 结构体数组
C语言概述 第一章.
第3章 變數、算術運算、 數學函數及輸入輸出.
第 二 章 数据类型、运算符与表达式.
第1章 绪论 北京师范大学 教育技术学院 杨开城.
實習十 開讀檔練習.
指標
Chap 5 函数 5.1 计算圆柱体积 5.2 使用函数编写程序 5.3 变量与函数.
C標準輸出入函數庫 與 作業系統.
<编程达人入门课程> 本节内容 字符与字符串 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C语言程序设计 李祥 QQ:
本节内容 文件读写 视频提供:昆山爱达人信息技术有限公司.
第2章 数据类型、运算符与表达式 本章要点: 基本数据类型 常量和变量 算术运算符和算术表达式 关系运算符和关系表达式
第二章 类型、对象、运算符和表达式.
第2章 数据类型与表达式 学习目的与要求: 掌握C 语言的基本数据类型及使用方法 掌握C程序中常用的运算符和表达式 了解数据类型的转换.
第二章 基本数据类型 ——数据的表示.
第3章 最简单的C程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出.
第13章 文 件.
C 程式設計— 檔案處理 台大資訊工程學系 資訊系統訓練班.
結構、檔案處理(Structure, File)
第十二章 位运算.
第七章 文件 7.1 文件的基本概念 7.2 文件类型指针 7.3 文件的打开与关闭 7.4 文件的读/写 7.5 文件的随机读/写
第二章 数据类型、运算符和表达式 §2.1 数据与数据类型 §2.2 常量、变量和标准函数 §2.3 基本运算符及其表达式 目 录 上一章
2018 Operating Systems 作業系統實習 助教:林欣穎 實驗室:720A Lab2.
C语言程序设计 第13章 文件操作.
陣列與檔案處理 授課:張朝麟 日期:2009/3/11.
Introduction to the C Programming Language
函式庫補充資料 1.
Presentation transcript:

fp=fopen("CD2.dat","wb"); fwrite(&min,8,1,fp); fclose(fp); #include <stdio.h> #include <math.h> #define len(x1,y1,x2,y2) sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)) void main() { FILE *fp; int i,j; double min,d; double x[10]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65}; double y[10]={-6,4.3,4.5,3.67,2.42,2.54,5.6,-0.97,4.65,-3.33}; min=len(x[0],y[0],x[1],y[1]); /****考生在以下空白处写入执行语句 ******/ /****考生在以上空白处写入执行语句 ******/ printf("%f\n",min); fp=fopen("CD2.dat","wb"); fwrite(&min,8,1,fp); fclose(fp); } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

三、相关知识 1. 文件的概念 文件的分类: 所谓“文件”是指记录在外部介质上的数据的有序集合。 根据数据的组织形式(编码方式)分为文本文件和二进制文件两类。 文本文件中的每一个字节存放一个ASCII码,代表一个字符; 二进制文件则是将数据按内存中的原样(二进制形式)存放在磁盘上。 例如有一个十进制整数54321,它在内存中占两个字节,如图,如果将它输出到文本文件则占5个字节,输出到二进制文件占2个字节 二进制文件占存储空间较小,而文本文件更直观 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

2、文件类型指针 文件指针: 由于通常文件中的数据很多, 所以在读写时应该指明是对哪些数据进行操作。在流式文件中采用的方法是设立一个存放文件读写位置的变量, 称为文件指针。在开始对某文件进行操作时将文件指针的值设置为0,表示读写操作应从文件首部开始执行; 每次读、写之后, 自动将文件指针的值加上本次读、写的字节数, 作为下次读写的位置。 typedef struct { int level; /* fill/empty level of buffer */ unsigned flags; /* File status flags */ char fd; /* File descriptor */ unsigned char hold; /* Ungetc char if no buffer */ int bsize; /* Buffer size */ unsigned char *buffer; /* Data transfer buffer */ unsigned char *curp; /* Current active pointer */ unsigned istemp; /* Temporary file indicator */ short token; /* Used for validity checking */ } FILE; FILE f[5]; FILE *fp; FILE *指针变量标识符; 例如:FILE *p; 习惯上笼统地把p称为指向一个文件的指针。 在进行读写操作之前要先打开文件,使用完毕要关闭文件。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

3、文件的打开与关闭 (1) fopen()函数 fopen()函数的原型为: 文件名,可以包含路径 (1) fopen()函数 打开文件的方式 fopen()函数的原型为: FILE *fopen(char *filename,char *mode); 其中mode参数,可取下列符号: r 读方式 w 写创建方式 a 写追加方式 + 为位于r、w、a之后,表示对于读写规定的补充。 r+ 表示以读、写方式打开一个已经存在的文件 w+ 表示建立一个新文件用于读和写; a+ 表示以读、写方式打开一个已经存在的文件。 b 按二进制方式打开文件。该符号要加在前面的读写方式说明之后。所谓按二进制方式打开文件,即在读、时将文件中的数据作为字节流, 不作任何加工。 t 按文本文件方式打开文件。文本文件可以看成是字符流, 并且以“行”为逻辑单位。文本文件的特点是每行有一个行结束标志,由两个字符构成: 回车符和换行符。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

在使用fopen()函数时一定要将其返回值存放在一个指向FILE的指针变量中,因为此后对该文件的操作都要通过这个指针变量。 如果文件打开成功, 返回该区域的首地址。 如果文件打开失败, 返回空指针值NULL。 在使用fopen()函数时一定要将其返回值存放在一个指向FILE的指针变量中,因为此后对该文件的操作都要通过这个指针变量。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

fp = fopen("MYDATA.DAT","rb"); FILE *fp; fp = fopen("MYDATA.DAT","rb");  以二进制读的方式打开当前目录下的MYDATA.DAT文件。如果该文件不存在, 则fp的值为NULL; fp = fopen("C:\\USER\\README.TXT","rt");  以读文本文件方式打开指定路径下的文件。注意路径字符串中的'\\'是转义字符,表示一个反斜杠; fp = fopen("MYDATA.DAT","w+b");  在当前目录下建立一个可读可写的二进制文件。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

其原型为 int fclose(FILE *fp); 其中参数: fp即用fopen()函数打开文件时返回的文件控制块的地址。如果文件关闭成功,该函数返回0, 否则返回文件结束符EOF。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

(2)fclose()函数 #include <stdio.h> void main() { FILE *p; p=fopen("11.dat","r"); if(p==NULL) printf("打不开!\n"); exit(0); } fclose(p); 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

4、文件的读写 fprintf()函数和fscanf()函数 调用格式: fscanf(文件指针,格式字符串,输入表列) 例如: fscantf(p,”%d,%f”,&a,&b); fprintf(p,”%d,%f”,a,b); 从p指针所指向的文件中把数据以%d和%f的格式分别读(输入)到变量a和b中 把变量a和b中的值分别以%d和%f的格式写入(输出)到p指针所指向的文件中 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

#include "stdio.h" main() {int a[10],i,b[10]; FILE *fp; fp=fopen("aaa.txt","w"); for(i=0;i<10;i++) scanf("%d",&a[i]); fprintf(fp,"%5d",a[i]); fclose(fp); fp=fopen("aaa.txt","r"); fscanf(fp,"%d",&b[i]); printf("%3d",b[i]); } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

2. fread()函数、fwrite()函数 将一组数据,如一个数组元素,一个结构变量的值等一次性读写,其输入输出函数是二进制形式输入输出的函数,在输入输出中不必进行数据的转换,输入输出速度相对较快。 读写数据块函数调用的一般形式为: fread(buffer,size,count,fp); fwrite(buffer,size,count,fp); 说明: buffer:对于fread()来说,指的是读入数据的存放地址; 对于fwrite来说,是要输出数据的地址。 Size: 读写数据时,每笔数据的大小 count: 读写数据的笔数 fp : 文件指针 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

fwrite(pt,sizeof(int),10,fp); fclose(fp); fp=fopen("aaa.txt","rb"); #include "stdio.h" main() {int a[10],i,b[10]; FILE *fp; fp=fopen("aaa.txt","w"); for(i=0;i<10;i++) scanf("%d",&a[i]); fprintf(fp,"%5d",a[i]); fclose(fp); fp=fopen("aaa.txt","r"); fscanf(fp,"%d",&b[i]); printf("%3d",b[i]); } #include "stdio.h" main() {int a[10],i,b[10],*pt=a; FILE *fp; fp=fopen("aaa.txt","wb"); for(i=0;i<10;i++) scanf("%d",&a[i]); fwrite(pt,sizeof(int),10,fp); fclose(fp); fp=fopen("aaa.txt","rb"); pt=b; fread(pt,sizeof(int),10,fp); printf("%3d",b[i]); } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

2. fread()函数、fwrite()函数 for(i=0;i<10;i++,pp++) fscanf(fp,"%s%d%d%d%f",pp->name,&pp->math, &pp->englist,&pp->chinese,&pp->avg); fread(pp,sizeof(struct stu),10,fp); for(i=0;i<10;i++,p++) fprintf(fp,"%s %d %d %d %.1f\n",pp->name, pp->math,pp->englist,pp->chinese,pp->avg); fwrite(pp,sizeof(struct stu),10,fp); 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

#include <stdio.h> #include <math.h> #define len(x1,y1,x2,y2) sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)) void main() { FILE *fp; int i,j; double min,d; double x[10]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65}; double y[10]={-6,4.3,4.5,3.67,2.42,2.54,5.6,-0.97,4.65,-3.33}; min=len(x[0],y[0],x[1],y[1]); /****考生在以下空白处写入执行语句 ******/ for(i=0;i<9;i++) for(j=i;j<9;j++) { d=len(x[i],y[i],x[j+1],y[j+1]); if(min>d) min=d; } /****考生在以上空白处写入执行语句 ******/ printf("%f\n",min); fp=fopen("CD2.dat","wb"); fwrite(&min,8,1,fp); fclose(fp); 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

6.3 项目分析与实现 1. 通讯录中记录的定义 我们可以定义一个person结构体来表示记录的内容。   2. 定义addPerson(Person * one)函数 addPerson(Person * one)函数是将参数中传递来的指向Person 类型的数据保存到 personArray[i]数组中的某个元素中。 3. 定义append()函数 append()函数是让用户输入需要添加的记录的信息,并通过调用addPerson(Person * one)函数把记录添加到personArray[i]数组中的某个元素中。 4. 定义saveContact()函数 saveContact()函数将记录真正添加到记事本中,即保存到文件中。 5. 定义output()函数 output()函数的功能就是把保存在文件中的记录都显示到显示终端中。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作