大学C语言设计文件课件_第1页
大学C语言设计文件课件_第2页
大学C语言设计文件课件_第3页
大学C语言设计文件课件_第4页
大学C语言设计文件课件_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文件文件外存上的数据存储在文件中控制器运算器内存储器外存储器(硬盘、U盘等)输入设备(键盘等)输出设备(显示器等)主机在程序运行时,程序本身和数据一般都存放在内存中。当程序运行结束后,存放在内存中的数据被释放。如果如果需要长期保存程序运行所需的原始数据,或程序运行产生的结果,就必须以文件形式存储到外部存储介质上。外存上的数据存储在文件中控制器运算器内存储器外存储器输入设备文件由操作系统管理根目录打开的子目录子目录打开的子目录中的文件文件由操作系统管理根目录打开的子目录子打开的子目录中的文件C语言中的文件概述文件与文件名文件是指存放在外部存储介质上的数据集合为了标识一个文件,每个文件都必须有一个文件名,其一般结构为:主文件名[.扩展名]

文件命名规则需遵循操作系统的约定文件分类根据文件的内容,可分为程序文件和数据文件,程序文件又可分为源文件、目标文件和可执行文件。根据文件的组织形式,可分为顺序存取文件和随机存取文件根据文件的存储形式,可分为文本文件和二进制文件。例如:test.ctest.cppstud.dat考号.txtd:\tc20\fact.cC语言中的文件概述文件与文件名文件是指存放在外部存储介质上的文本文件和二进制文件文本文件二进制文件以文本(字符串)格式存储文本分行,行尾有行结束标志读写时发生数据转换(自动或人工),转换过程可逆程序容易处理,程序员也容易理解,效率较低以二进制格式存储内容不分行,行尾无行结束标志读写时不发生数据转换,文件中的内容与信息在内存中的存储布局相同程序容易处理,程序员不容易理解,效率较高文本文件和二进制文件文本文件以文本(字符串)格式存储以二进制例如int型数据10000在文件中的存储方式00000000文本形式00000000001001110001000010000的内存存储形式(32位)001100010011000000110000001100000011000000000000000000000010011100010000二进制形式4948484848003916例如int型数据10000在文件中的存储方式00000C语言中的文件概述读文件与写文件所谓读文件是指将外存文件中的数据读取到计算机内存的操作。(外设也被抽象为文件)控制器运算器内存储器外存储器(硬盘、U盘等)输入设备(键盘等)输出设备(显示器等)主机所谓写文件是指从计算机内存向外存文件写入数据的操作。读读写写C语言中的文件概述读文件与写文件所谓读文件是指将外存文件中的C语言中的文件概述构成文件的基本单元与流式文件C语言将文件看作是由一个一个的字符(文本文件)或字节(二进制文件)组成的。将这种文件称为流式文件。控制器运算器内存储器输入设备、外存输出设备、外存主机···01001······11010···C语言中的文件概述构成文件的基本单元与流式文件C语言将文件看文件缓冲区输出文件缓冲区输入文件缓冲区程序数据区变量a慢速的外设与快速的主机(CPU、内存)之间需要一个缓冲区(一般由系统创建),以暂存需要传输的数据文件缓冲区输出文件缓冲区输入文件缓冲区程序数据区变量a慢速的缓冲文件系统慢速的外设与快速的主机(CPU、内存)之间需要一个缓冲区(一般由系统创建),以暂存需要传输的数据外存文件输出文件缓冲区输入文件缓冲区程序数据区a缓冲文件系统慢速的外设与快速的主机(CPU、内存)之间需要一文件的基本操作文件打开操作文件关闭操作读取文件中的数据操作在文件中写入数据的操作文件结束检测操作文件错误检测操作文件缓冲区与流刷新操作文件指针定位操作文件指针位置查询操作文件指针重定位操作文件的基本操作文件打开操作文件的基本操作在C程序中如何操作文件?由C系统(C语言实现者)提供文件操作函数按照一定的格式和步骤,借助文件指针,调用文件操作函数,文件的基本操作在C程序中如何操作文件?文件操作的标准库函数(stdio.h)fopenfclosefcloseallfeoffgetc/fputcfgets/fputsfscanf/fprintffread/fwriterewindfseekferrorfflush文件操作的标准库函数(stdio.h)fopen文件操作的标准库函数fopen

fclosefeoffscanf/fprintf……(其他函数以后再介绍,也可自己看)文件操作的标准库函数fopen文件指针文件指针类型文件指针类型格式:FILE*说明:所有对文件的操作都需要使用文件指针类型文件指针变量定义格式:FILE*fp;说明:要访问某个文件,一定需要首先定义文件指针类型的变量,并将该变量与对应文件关联起来,此后才能进行文件操作文件指针文件指针类型文件指针类型格式:FILE*文件指针文件的打开和关闭对文件进行操作前,必须先打开该文件;使用结束后,应立即关闭。C语言规定了标准输入输出函数库,用fopen()函数打开一个文件,用fclose()函数关闭一个文件。进行文件操作前,首先应定义一个文件指针变量,格式为:FILE*fp;其中,变量名fp可换成其他名字文件的打开和关闭对文件进行操作前,必须先打开该文件;使用结束若文件打开操作成功,此后在程序中,fp就代表外存上的文件fact.c打开文件和关闭文件用函数fopen()打开指定文件例如,以只读方式打开文件fact.c:

fp=fopen("fact.c","r");fp=fopen("文件名","打开文件方式");用函数fclose()关闭前面打开的文件fclose(fp);若文件打开操作成功,此后在程序中,fp就代表外存上的文件fa打开文件的方式fp=fopen("文件名","打开文件方式");打开文件的方式fp=fopen("文件名","打开文件方创建一个数据文件

(向文件写入数据)创建一个数据文件

(向文件写入数据)创建数据文件步骤:1)定义文件指针变量和其他变量;2)以只写方式(或追加方式)打开文件(用fopen函数);3)是否继续写入:是,转4);否,转5);4)向文件中写入一个数据(用fprintf函数),转3);5)关闭文件(用fclose函数)。创建数据文件步骤:格式化读写数据:fscanf/fprintf函数fprintf()以指定格式向文件写入数据,返回值为写入的字符个数fprintf(文件指针,格式串,输出表列);//除了增加文件指针参数,与printf用法相同例如:fprintf(fp,"%d",10000);//将10000写入文件一般不需要使用fprintf的返回值写入整数或浮点数时,数之间应有间隔例如,将从键盘输入的5个整数写入“c.in”文件。格式化读写数据:fscanf/fprintf函数fpri#include<stdio.h>intmain(){FILE*fout;inti,a;

fout=fopen("c.in","w");if(fout==NULL){printf("openfileerror!\n");

return0;}创建文件:格式化读写编写程序,将从键盘输入的5个整数写入“c.in”文件。for(i=0;i<5;i++){scanf("%d",&a);fprintf(fout,"%d\t",a);}fclose(fout);return0;}#include<stdio.h>创建文件:格式化读写编写读取数据文件中的数据

读取数据文件中的数据

读取文件中的数据步骤:1)定义文件指针变量和其他保存数据的变量;2)以只读方式打开文件(用fopen函数);3)判断文件是否结束(用feof函数):是,转5);否,转4);4)从文件中读取一个数据(用fscanf函数)并进行需要的处理,转3);5)关闭文件(用fclose函数)。读取文件中的数据步骤:格式化读数据:fscanffscanf(文件指针,格式串,输入表列);//除了增加文件指针参数,与scanf的用法相同//函数的返回值为读取到的数据个数例如:

fscanf(fp,"%d",&a);//从文件中读取一个整数函数fscanf()以指定格式从文件中读取数据,返回值为读取到的数据个数例如,已知文本文件“c.in”中有若干个整数,读取其中的所有整数并通过显示屏输出。格式化读数据:fscanffscanf(文件指针,格式串,输#include<stdio.h>#include<stdlib.h>intmain(){FILE*fin;inta;

fin=fopen("c.in","r");if(fin==NULL){printf("openfileerror!\n");

return0;}读取文本文件中的整数:格式化读编写程序,读取“c.in”文件中的每个整数并输出至屏幕。while(!feof(fin)){

if(fscanf(fin,"%d",&a)!=1)break;printf("%d\t",a);}fclose(fin);return0;}#include<stdio.h>读取文本文件中的整数:格#include<stdio.h>intmain(){FILE*fin,*fout;inta,b;fin=fopen("c.in","r");fout=fopen("csqr.dat","w");if(fin==NULL||fout==NULL){printf("openfileerror!\n");exit(0);}创建文件:从一个文件读取,写入另一个文件编写程序,将“c.in”文件中的每个整数取出,求平方后写入“csqr.dat”。while(!feof(fin)){

if(fscanf(fin,"%d",&a)!=1)break;b=a*a;fprintf(fout,"%12d",b);}fclose(fin);fclose(fout);return0;}#include<stdio.h>创建文件:从一个文件读取文件操作的标准库函数fopenfclosefeoffscanf/fprintffgtec/fputcch=fgetc(fin)等同于fscanf(fin,"%c",&ch)fputc(fout,ch)等同于fprintf(fout,"%c",ch)……(其他文件操作函数以后再介绍)End文件操作的标准库函数fopenEnd文本文件和二进制文件文本文件二进制文件以文本(字符串)格式存储文本分行,行尾有行结束标志读写时发生数据转换(自动或人工),转换过程可逆程序容易处理,程序员也容易理解,效率较低以二进制格式存储内容不分行,行尾无行结束标志读写时不发生数据转换,文件中的内容与信息在内存中的存储布局相同程序容易处理,程序员不容易理解,效率较高文本文件和二进制文件文本文件以文本(字符串)格式存储以二进制例如int型数据10000在文件中的存储方式00000000文本形式00000000001001110001000010000的内存存储形式001100010011000000110000001100000011000000000000000000000010011100010000二进制形式4948484848003916例如int型数据10000在文件中的存储方式00000例如int型数据10000在文件中的存储方式//二进制文件FILE*out;inta=10000;

out=fopen("test-1.dat","wb");

fwrite(&a,sizeof(int),1,out);

fclose(out);

//文本文件FILE*out;inta=10000;

out=fopen("test-2.dat","wb");

fprintf(out,"%d",a);

fclose(out);例如int型数据10000在文件中的存储方式//标准文件流(文本文件)什么是标准文件流标准输入流标准输出流标准错误流C语言为用户预定义了三个全局文件流数据对象定义于“stdio.h”中stdin:代表输入设备(一般为键盘)用户输入均由系统自动放入stdin所代表的存储空间stdout:代表输出设备(一般为屏幕)程序输出均由系统自动放入stdout所代表的存储空间stderr:代表错误输出设备(一般为屏幕)程序错误输出均由系统自动放入stderr所代表的存储空间标准文件流(文本文件)什么是标准文件流C语言为用户预定义了其他文件操作函数在C语言中,对外存上文件的所有操作均是通过系统提供的库函数进行的。格式化读写数据:fscanf/fprintf读写一个字符:fgetc/fputc读写一个字符串:fgets/fputs读写数据块:fread/fwrite其他函数:fseekftellrewindferrorfflush结束其他文件操作函数在C语言中,对外存上文件的所有操作均是通过系读取文件中的字符-fgetc函数fgetc()从指定的文件读取并返回一个字符例如,编写程序读取文件“fact.c”中的数据并显示在屏幕上。ch=fgetc(fp);步骤:1)定义文件指针变量和其他变量;2)以读方式打开文件;3)文件是否结束:是,转5);否则,转4);4)从文件中读取一个字符并输出,转3);5)关闭文件。读取文件中的字符-fgetc函数fgetc()从指定的文读取文件中的字符(feof)例如,编写程序读取文件“fact.c”中的数据并显示在屏幕上。#include<stdio.h>intmain(){FILE*fp;charch;fp=fopen("fact.c","r");if(fp==NULL){printf("openfileerror!\n");exit(0);}while(!feof(fp)){ch=fgetc(fp);printf("%c",ch);}fclose(fp);return0;}读取文件中的字符(feof)例如,编写程序读取文件“fact创建文件:以写方式打开,再用写入函数例如,以写入方式打开(创建)文件char.dat:fp=fopen("char.dat","w");函数fputc()将指定字符写入文件fputc(ch,fp);创建文件:以写方式打开,再用写入函数例如,以写入方式打开(创创建元素为字符的文件步骤:1)定义文件指针变量和其他变量;2)以写入方式打开文件;3)写入是否结束:是,转5);否则,转4);4)将一个字符常量或变量写入文件,转3);5)关闭文件。例如,编写程序,将从键盘输入前20个字符写入文件“char.dat”创建元素为字符的文件步骤:例如,编写程序,将从键盘输入前20向文件写入字符数据-fputc例如,编写程序,将从键盘输入前20个字符写入文件“char.dat”#include<stdio.h>intmain(){FILE*fp;chari=0,ch;fp=fopen("char.dat","w");if(fp==NULL){printf("openfileerror!\n");exit(0);}while(i<20){ch=getchar();fputc(ch,fp);i++;}fclose(fp);return0;}向文件写入字符数据-fputc例如,编写程序,将从键盘输复制文件:从一个文件读出,向另一个文件写入编写程序,将“swap.c”复制一份存放在“D:\test\swapbak.c”。步骤:1)定义两个文件指针变量和其他变量;2)以读方式打开文件swap.c;以写方式打开文件swapbak.c;3)文件swap.c是否结束:是,转5);否则,转4);4)从swap.c中读取一个字符写入文件swapbak.c,转3);5)关闭文件。#include<stdio.h>intmain(){FILE*in,*out;charch;in=fopen("swap.c","r");out=fopen("d:\\test\\swapbak.c","w");if(in==NULL||out==NULL){printf("openfileerror!\n");exit(0);}while(!feof(in)){ch=fgetc(in);fputc(ch,out);}fclose(in);fclose(out);return0;}复制文件:从一个文件读出,向另一个文件写入编写程序,将“sw文本行读取函数函数原型:char*fgets(char*s,intn,FILE*fp);意义:从文件fp中读取最多n个字符,写入s所指向的存储空间,函数在遇到换行符或读取了n–1个字符之后结束返回值:成功执行时,返回指针s,否则返回NULL特别说明确保s指向的存储空间在调用此函数时已分配确保空间足够,字符串尾部'\0'由系统自动添加;建议使用标准库中的宏BUFSIZ(512字节)读取过程中如遇到EOF,函数同样返回NULL文本行读写操作文本行读取函数文本行读写操作文本行写入函数函数原型:intfputs(constchar*s,FILE*fp);意义:将字符串s写入文件fp返回值:成功时为一个非负整数,失败时为EOF(即-1)特别说明fputs函数并不复制字符串尾部的'\0'fputs函数的返回值一般不需要测试文本行读写操作文本行写入函数文本行读写操作fgets读取文件内容编写程序,将“test_time.c”的内容用fgets读取出来并显示在屏幕上。#include<stdio.h>intmain(){FILE*in;charstr[101];in=fopen("test_time.c","r");

if(in==NULL){printf("openfileerror!\n");exit(0);}while(!feof(in)){fgets(str,100,in);puts(str);}fclose(in);system("pause");return0;}fgets读取文件内容编写程序,将“test_time.c”本章作业第307页:习题二第1、2、4小题本章作业第307页:习题二文件文件外存上的数据存储在文件中控制器运算器内存储器外存储器(硬盘、U盘等)输入设备(键盘等)输出设备(显示器等)主机在程序运行时,程序本身和数据一般都存放在内存中。当程序运行结束后,存放在内存中的数据被释放。如果如果需要长期保存程序运行所需的原始数据,或程序运行产生的结果,就必须以文件形式存储到外部存储介质上。外存上的数据存储在文件中控制器运算器内存储器外存储器输入设备文件由操作系统管理根目录打开的子目录子目录打开的子目录中的文件文件由操作系统管理根目录打开的子目录子打开的子目录中的文件C语言中的文件概述文件与文件名文件是指存放在外部存储介质上的数据集合为了标识一个文件,每个文件都必须有一个文件名,其一般结构为:主文件名[.扩展名]

文件命名规则需遵循操作系统的约定文件分类根据文件的内容,可分为程序文件和数据文件,程序文件又可分为源文件、目标文件和可执行文件。根据文件的组织形式,可分为顺序存取文件和随机存取文件根据文件的存储形式,可分为文本文件和二进制文件。例如:test.ctest.cppstud.dat考号.txtd:\tc20\fact.cC语言中的文件概述文件与文件名文件是指存放在外部存储介质上的文本文件和二进制文件文本文件二进制文件以文本(字符串)格式存储文本分行,行尾有行结束标志读写时发生数据转换(自动或人工),转换过程可逆程序容易处理,程序员也容易理解,效率较低以二进制格式存储内容不分行,行尾无行结束标志读写时不发生数据转换,文件中的内容与信息在内存中的存储布局相同程序容易处理,程序员不容易理解,效率较高文本文件和二进制文件文本文件以文本(字符串)格式存储以二进制例如int型数据10000在文件中的存储方式00000000文本形式00000000001001110001000010000的内存存储形式(32位)001100010011000000110000001100000011000000000000000000000010011100010000二进制形式4948484848003916例如int型数据10000在文件中的存储方式00000C语言中的文件概述读文件与写文件所谓读文件是指将外存文件中的数据读取到计算机内存的操作。(外设也被抽象为文件)控制器运算器内存储器外存储器(硬盘、U盘等)输入设备(键盘等)输出设备(显示器等)主机所谓写文件是指从计算机内存向外存文件写入数据的操作。读读写写C语言中的文件概述读文件与写文件所谓读文件是指将外存文件中的C语言中的文件概述构成文件的基本单元与流式文件C语言将文件看作是由一个一个的字符(文本文件)或字节(二进制文件)组成的。将这种文件称为流式文件。控制器运算器内存储器输入设备、外存输出设备、外存主机···01001······11010···C语言中的文件概述构成文件的基本单元与流式文件C语言将文件看文件缓冲区输出文件缓冲区输入文件缓冲区程序数据区变量a慢速的外设与快速的主机(CPU、内存)之间需要一个缓冲区(一般由系统创建),以暂存需要传输的数据文件缓冲区输出文件缓冲区输入文件缓冲区程序数据区变量a慢速的缓冲文件系统慢速的外设与快速的主机(CPU、内存)之间需要一个缓冲区(一般由系统创建),以暂存需要传输的数据外存文件输出文件缓冲区输入文件缓冲区程序数据区a缓冲文件系统慢速的外设与快速的主机(CPU、内存)之间需要一文件的基本操作文件打开操作文件关闭操作读取文件中的数据操作在文件中写入数据的操作文件结束检测操作文件错误检测操作文件缓冲区与流刷新操作文件指针定位操作文件指针位置查询操作文件指针重定位操作文件的基本操作文件打开操作文件的基本操作在C程序中如何操作文件?由C系统(C语言实现者)提供文件操作函数按照一定的格式和步骤,借助文件指针,调用文件操作函数,文件的基本操作在C程序中如何操作文件?文件操作的标准库函数(stdio.h)fopenfclosefcloseallfeoffgetc/fputcfgets/fputsfscanf/fprintffread/fwriterewindfseekferrorfflush文件操作的标准库函数(stdio.h)fopen文件操作的标准库函数fopen

fclosefeoffscanf/fprintf……(其他函数以后再介绍,也可自己看)文件操作的标准库函数fopen文件指针文件指针类型文件指针类型格式:FILE*说明:所有对文件的操作都需要使用文件指针类型文件指针变量定义格式:FILE*fp;说明:要访问某个文件,一定需要首先定义文件指针类型的变量,并将该变量与对应文件关联起来,此后才能进行文件操作文件指针文件指针类型文件指针类型格式:FILE*文件指针文件的打开和关闭对文件进行操作前,必须先打开该文件;使用结束后,应立即关闭。C语言规定了标准输入输出函数库,用fopen()函数打开一个文件,用fclose()函数关闭一个文件。进行文件操作前,首先应定义一个文件指针变量,格式为:FILE*fp;其中,变量名fp可换成其他名字文件的打开和关闭对文件进行操作前,必须先打开该文件;使用结束若文件打开操作成功,此后在程序中,fp就代表外存上的文件fact.c打开文件和关闭文件用函数fopen()打开指定文件例如,以只读方式打开文件fact.c:

fp=fopen("fact.c","r");fp=fopen("文件名","打开文件方式");用函数fclose()关闭前面打开的文件fclose(fp);若文件打开操作成功,此后在程序中,fp就代表外存上的文件fa打开文件的方式fp=fopen("文件名","打开文件方式");打开文件的方式fp=fopen("文件名","打开文件方创建一个数据文件

(向文件写入数据)创建一个数据文件

(向文件写入数据)创建数据文件步骤:1)定义文件指针变量和其他变量;2)以只写方式(或追加方式)打开文件(用fopen函数);3)是否继续写入:是,转4);否,转5);4)向文件中写入一个数据(用fprintf函数),转3);5)关闭文件(用fclose函数)。创建数据文件步骤:格式化读写数据:fscanf/fprintf函数fprintf()以指定格式向文件写入数据,返回值为写入的字符个数fprintf(文件指针,格式串,输出表列);//除了增加文件指针参数,与printf用法相同例如:fprintf(fp,"%d",10000);//将10000写入文件一般不需要使用fprintf的返回值写入整数或浮点数时,数之间应有间隔例如,将从键盘输入的5个整数写入“c.in”文件。格式化读写数据:fscanf/fprintf函数fpri#include<stdio.h>intmain(){FILE*fout;inti,a;

fout=fopen("c.in","w");if(fout==NULL){printf("openfileerror!\n");

return0;}创建文件:格式化读写编写程序,将从键盘输入的5个整数写入“c.in”文件。for(i=0;i<5;i++){scanf("%d",&a);fprintf(fout,"%d\t",a);}fclose(fout);return0;}#include<stdio.h>创建文件:格式化读写编写读取数据文件中的数据

读取数据文件中的数据

读取文件中的数据步骤:1)定义文件指针变量和其他保存数据的变量;2)以只读方式打开文件(用fopen函数);3)判断文件是否结束(用feof函数):是,转5);否,转4);4)从文件中读取一个数据(用fscanf函数)并进行需要的处理,转3);5)关闭文件(用fclose函数)。读取文件中的数据步骤:格式化读数据:fscanffscanf(文件指针,格式串,输入表列);//除了增加文件指针参数,与scanf的用法相同//函数的返回值为读取到的数据个数例如:

fscanf(fp,"%d",&a);//从文件中读取一个整数函数fscanf()以指定格式从文件中读取数据,返回值为读取到的数据个数例如,已知文本文件“c.in”中有若干个整数,读取其中的所有整数并通过显示屏输出。格式化读数据:fscanffscanf(文件指针,格式串,输#include<stdio.h>#include<stdlib.h>intmain(){FILE*fin;inta;

fin=fopen("c.in","r");if(fin==NULL){printf("openfileerror!\n");

return0;}读取文本文件中的整数:格式化读编写程序,读取“c.in”文件中的每个整数并输出至屏幕。while(!feof(fin)){

if(fscanf(fin,"%d",&a)!=1)break;printf("%d\t",a);}fclose(fin);return0;}#include<stdio.h>读取文本文件中的整数:格#include<stdio.h>intmain(){FILE*fin,*fout;inta,b;fin=fopen("c.in","r");fout=fopen("csqr.dat","w");if(fin==NULL||fout==NULL){printf("openfileerror!\n");exit(0);}创建文件:从一个文件读取,写入另一个文件编写程序,将“c.in”文件中的每个整数取出,求平方后写入“csqr.dat”。while(!feof(fin)){

if(fscanf(fin,"%d",&a)!=1)break;b=a*a;fprintf(fout,"%12d",b);}fclose(fin);fclose(fout);return0;}#include<stdio.h>创建文件:从一个文件读取文件操作的标准库函数fopenfclosefeoffscanf/fprintffgtec/fputcch=fgetc(fin)等同于fscanf(fin,"%c",&ch)fputc(fout,ch)等同于fprintf(fout,"%c",ch)……(其他文件操作函数以后再介绍)End文件操作的标准库函数fopenEnd文本文件和二进制文件文本文件二进制文件以文本(字符串)格式存储文本分行,行尾有行结束标志读写时发生数据转换(自动或人工),转换过程可逆程序容易处理,程序员也容易理解,效率较低以二进制格式存储内容不分行,行尾无行结束标志读写时不发生数据转换,文件中的内容与信息在内存中的存储布局相同程序容易处理,程序员不容易理解,效率较高文本文件和二进制文件文本文件以文本(字符串)格式存储以二进制例如int型数据10000在文件中的存储方式00000000文本形式00000000001001110001000010000的内存存储形式001100010011000000110000001100000011000000000000000000000010011100010000二进制形式4948484848003916例如int型数据10000在文件中的存储方式00000例如int型数据10000在文件中的存储方式//二进制文件FILE*out;inta=10000;

out=fopen("test-1.dat","wb");

fwrite(&a,sizeof(int),1,out);

fclose(out);

//文本文件FILE*out;inta=10000;

out=fopen("test-2.dat","wb");

fprintf(out,"%d",a);

fclose(out);例如int型数据10000在文件中的存储方式//标准文件流(文本文件)什么是标准文件流标准输入流标准输出流标准错误流C语言为用户预定义了三个全局文件流数据对象定义于“stdio.h”中stdin:代表输入设备(一般为键盘)用户输入均由系统自动放入stdin所代表的存储空间stdout:代表输出设备(一般为屏幕)程序输出均由系统自动放入stdout所代表的存储空间stderr:代表错误输出设备(一般为屏幕)程序错误输出均由系统自动放入stderr所代表的存储空间标准文件流(文本文件)什么是标准文件流C语言为用户预定义了其他文件操作函数在C语言中,对外存上文件的所有操作均是通过系统提供的库函数进行的。格式化读写数据:fscanf/fprintf读写一个字符:fgetc/fputc读写一个字符串:fgets/fputs读写数据块:fread/fwrite其他函数:fseekftellrewindferrorfflush结束其他文件操作函数在C语言中,对外存上文件的所有操作均是通过系读取文件中的字符-fgetc函数fgetc()从指定的文件读取并返回一个字符例如,编写程序读取文件“fact.c”中的数据并显示在屏幕上。ch=fgetc(fp);步骤:1)定义文件指针变量和其他变量;2)以读方式打开文件;3)文件是否结束:是,转5);否则,转4);4)从文件中读取一个字符并输出,转3);5)关闭文件。读取文件中的字符-fgetc函数fgetc()从指定的文读取文件中的字符(feof)例如,编写程序读取文件“fact.c”中的数据并显示在屏幕上。#include<stdio.h>intmain(){FILE*fp;charch;fp=fopen("fact.c","r");if(fp==NULL){printf("openfileerror!\n");exit(0);}while(!feof(fp)){ch=fgetc(fp);printf("%c",ch);}fclose(fp);return0;}读取文件中的字符(feof)例如,编写程序读取文件“fact创建文件:以写方式打开,再用写入函数例如,以写入方式打开(创建)文件char.dat:fp=fopen("char.dat","w");函数fputc()将指定字符写入文件fputc(ch,fp);创建文件:以写方式打开,再用写入函数例如,以写入方式打开(创创建元素为字符的文件步骤:1)定义文件指针变量和其他变量;2)以写入方式打开文件;3)写入是否结束:是,转5);否则,转4);4)将一个字符常量或变量写入文件,转3);5)关闭文件。例如,编写程序,将从键盘输入前20个字符写入文件“char.dat”创建元素为字符的文件步骤:例如,编写程序,将从键盘输入前20向文件写入字符数据-fputc例如,编写程序,将从键盘输入前20个字符写入文件“char.dat”

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论