版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第8章章 文件文件2 第第8 8章章 文件文件 8.2 文件的打开与关闭文件的打开与关闭 8.3 文件的读写文件的读写 8.4 文件的指针定位文件的指针定位 8.1 文件概述文件概述 8.5 文件的其他检测函数文件的其他检测函数 8.6 特殊的文件名特殊的文件名38.1 8.1 文件概述文件概述v文件是存在计算机存储介质中的一些信息的集合文件是存在计算机存储介质中的一些信息的集合。 v文件是一些记录(文件是一些记录(recordrecord)的集合。记录就是具)的集合。记录就是具有一定关系的信息的集合。有一定关系的信息的集合。v在计算机中,将二进制代码的集合称为信息。在计算机中,将二进制代码
2、的集合称为信息。v文件的种类有很多。例如:文本文件,系统文件,文件的种类有很多。例如:文本文件,系统文件,图形、图像文件,视频文件,音频文件等等。图形、图像文件,视频文件,音频文件等等。v每个文件都有一个名字,称之为文件名。每个文件都有一个名字,称之为文件名。 v文件的名字由两部分组成,文件名和扩展名(也文件的名字由两部分组成,文件名和扩展名(也称为文件后缀)。文件名和扩展名之间用一个称为文件后缀)。文件名和扩展名之间用一个“ “ . ”. ”号分开。扩展名是说明文件的属性。号分开。扩展名是说明文件的属性。48.1 8.1 文件概述文件概述vc c语言在处理信息方面采用的是两种处理方法,一语言
3、在处理信息方面采用的是两种处理方法,一种是将文件看成是种是将文件看成是asciiascii码的集合,在处理这个集码的集合,在处理这个集合时以合时以asciiascii码为单位处理。由码为单位处理。由asciiascii码组成的文码组成的文件,又称为文本文件。另一种是将文件看成是二件,又称为文本文件。另一种是将文件看成是二进制代码的集合。进制代码的集合。 v所谓所谓文本文件文本文件,是把内存中的数据转变成相应的,是把内存中的数据转变成相应的asciiascii码值码值形式,然后存放在磁盘上。因此,每个形式,然后存放在磁盘上。因此,每个字节存放一个字符的字节存放一个字符的asciiascii码值。
4、码值。v所谓所谓二进制文件二进制文件,是把内存中的数据按其在内存,是把内存中的数据按其在内存中的存储形式原样存放到磁盘上去中的存储形式原样存放到磁盘上去58.1 8.1 文件概述文件概述1111 11111111 11110 0111 1111111 1111 68.1 8.1 文件概述文件概述v数据按文本形式存储在磁盘上,占用的存储空间数据按文本形式存储在磁盘上,占用的存储空间多,存储时要花费转换时间。但以这种形式存储,多,存储时要花费转换时间。但以这种形式存储,一个字节代表一个字符,便于对字符进行逐个处一个字节代表一个字符,便于对字符进行逐个处理,也便于输出显示理,也便于输出显示 v数据按
5、二进制形式存储在磁盘上时,无须花费转数据按二进制形式存储在磁盘上时,无须花费转换时间,占用空间少。但字节不与字符对应,因换时间,占用空间少。但字节不与字符对应,因此不能直接输出显示此不能直接输出显示78.1 8.1 文件概述文件概述v 缓冲文件系统缓冲文件系统v 输出时,先将数据送到内存缓冲区,缓冲区装满后,才将输出时,先将数据送到内存缓冲区,缓冲区装满后,才将整个缓冲区的内容一次写入磁盘整个缓冲区的内容一次写入磁盘v 输入时,先把磁盘中的一块数据读入到内存缓冲区,然后输入时,先把磁盘中的一块数据读入到内存缓冲区,然后再从缓冲区中把需要的数据挑出来,送到程序数据区中再从缓冲区中把需要的数据挑出
6、来,送到程序数据区中磁盘磁盘输入输入输出输出输入文件缓冲区输入文件缓冲区输出文件缓冲区输出文件缓冲区输出输出输入输入程序数据区程序数据区内存内存88.2 8.2 文件的打开与关闭文件的打开与关闭vc c语言执行程序在文件处理上有两种方式:语言执行程序在文件处理上有两种方式:v一种是借助操作系统的外壳功能完成一种是借助操作系统的外壳功能完成c c程序在运行程序在运行的过程中,数据的输入和输出,方式简单,条件的过程中,数据的输入和输出,方式简单,条件比较苛刻。比较苛刻。 。v另一种方式是完全借助另一种方式是完全借助c c语言的一些文件处理函数语言的一些文件处理函数来完成来完成c c语言程序运行过程
7、中的数据读入和输出,语言程序运行过程中的数据读入和输出,比较复杂,但功能强大。比较复杂,但功能强大。v1 1利用操作系统命令打开输入和输出文件。利用操作系统命令打开输入和输出文件。v具有很大的局限性,比如:读取数据只能从头开具有很大的局限性,比如:读取数据只能从头开始读取,不可剪裁读取数据,也不可对数据回读,始读取,不可剪裁读取数据,也不可对数据回读,输入和输出的数据文件只能是文本文件等。(略)输入和输出的数据文件只能是文本文件等。(略)98.2 8.2 文件的打开与关闭文件的打开与关闭v2 2利用函数处理文件利用函数处理文件v 在缓冲文件系统中,对每个正在使用的文件都自动分配一在缓冲文件系统
8、中,对每个正在使用的文件都自动分配一个个filefile类型的结构体变量,用于存放文件的有关信息,如类型的结构体变量,用于存放文件的有关信息,如文件号、文件状态、缓冲区地址和大小等文件号、文件状态、缓冲区地址和大小等typedef struct int level; /*缓冲区缓冲区“满满”或或“空空”的程度的程度*/ unsigned flags; /*文件状态标志文件状态标志*/ char fd; /*文件描述符文件描述符*/ unsigned char hold; /*如无缓冲区不读取字符如无缓冲区不读取字符*/ int bsize; /*缓冲区大小缓冲区大小*/ unsigned ch
9、ar *buffer; /*数据缓冲区位置数据缓冲区位置*/ unsigned char *curp; /*文件定位指针文件定位指针*/ unsigned istemp; /*临时文件指示器临时文件指示器*/ short token; /*用于有效性检查用于有效性检查*/file; 108.2 8.2 文件的打开与关闭文件的打开与关闭vc语言对于每一个要操作的文件,都必须定义一个语言对于每一个要操作的文件,都必须定义一个指针变量,指向该文件结构体变量,这个指针称指针变量,指向该文件结构体变量,这个指针称为文件指针为文件指针file *指针变量标识符;指针变量标识符;v打开文件操作:打开文件操作
10、:vfile file * *fp;fp;vfp=fopen(fp=fopen(文件名称,使用文件方式文件名称,使用文件方式););v关闭文件操作:关闭文件操作:vfclose(fp);fclose(fp);11c c文件操作常用函数文件操作常用函数fopen 打开文件打开文件1fclose 关闭文件关闭文件2fgets 读字符串读字符串3fputs 写字符串写字符串4fgetc 读字符读字符5fputc 写字符写字符6feof 指针是否到尾指针是否到尾7fread 读数据块读数据块8fwrite 写数据块写数据块9fscanf 格式读数据格式读数据10fprintf 格式写数据格式写数据11
11、fseek 指针重定位指针重定位12rewind 指针移到头指针移到头13ftell 返回指针位置返回指针位置14128.2 8.2 文件的打开与关闭文件的打开与关闭文件类型文件类型使用方式使用方式意义意义备注备注文本文本文件文件”r”只读:打开一个文本文件,只允许读数据只读:打开一个文本文件,只允许读数据旧文件旧文件”w”只写:打开或建立一个文本文件,只允许写数据只写:打开或建立一个文本文件,只允许写数据新文件新文件”a”追加:打开一个文本文件,并在文件末尾写数据追加:打开一个文本文件,并在文件末尾写数据旧文件旧文件”r+”读写:打开一个文本文件,允许读和写读写:打开一个文本文件,允许读和写
12、旧文件旧文件”w+”读写:打开或建立一个文本文件,允许读写读写:打开或建立一个文本文件,允许读写新文件新文件”a+”读写:打开一个文本文件,允许读,或在文件末追加数据读写:打开一个文本文件,允许读,或在文件末追加数据旧文件旧文件”rb”只读:打开一个二进制文件,只允许读数据只读:打开一个二进制文件,只允许读数据旧文件旧文件”wb”只写:打开或建立一个二进制文件,只允许写数据只写:打开或建立一个二进制文件,只允许写数据新文件新文件”ab”追加:打开一个二进制文件,并在文件末尾写数据追加:打开一个二进制文件,并在文件末尾写数据旧文件旧文件138.2 8.2 文件的打开与关闭文件的打开与关闭#inc
13、lude void main() int a16,i,j,t; file *fp1,*fp2; fp1=fopen(in.dat, r); fp2=fopen(out.dat, w); for(i=0;i16;i+) fscanf(fp1,%d,&ai); fprintf(fp2,*input data are*n); for(i=1;i=16;i+) fprintf(fp2,%3d,ai-1); if(i%4=0)fprintf(fp2,n); 148.2 8.2 文件的打开与关闭文件的打开与关闭 for(i=0;i16;i+) for(j=i+1;j16;j+) if(aiaj)
14、t=ai;ai=aj;aj=t; fprintf(fp2,*output data are*n); for(i=1;i=16;i+) fprintf(fp2,%3d,ai-1); if(i%4=0) fprintf(fp2,n); fclose(fp1); fclose(fp2);158.2 8.2 文件的打开与关闭文件的打开与关闭v我们使用了两个函数一个是我们使用了两个函数一个是fscanffscanf,另一个是,另一个是fprintffprintf。我们在表对比一他们与标准输入输出函。我们在表对比一他们与标准输入输出函数数scanfscanf、printfprintf的区别。的区别。168
15、.2 8.2 文件的打开与关闭文件的打开与关闭v为了使得上述的程序更加完善,确保程序在运行为了使得上述的程序更加完善,确保程序在运行过程中的正确性。这里我们引入一个新的函数过程中的正确性。这里我们引入一个新的函数exit(0)exit(0),这个函数是结束程序的运行。,这个函数是结束程序的运行。 file *fp1,*fp2;if(fp1=fopen(in.dat, r)=null) printf(cannot open infilen); exit(0); /不正确退出运行if(fp2= fopen(out.dat, w)=null) printf(cannot open outfilen)
16、;exit(0); /不正确退出运行178.3 8.3 文件的读写文件的读写v1 1fscanf()fscanf()和和fprintf()fprintf()函数函数v在上一小节中我们看到了这个函数的使用,他们在上一小节中我们看到了这个函数的使用,他们的格式是:的格式是:vfscanf(fscanf(文件指针,格式字符串,输入列表文件指针,格式字符串,输入列表););vfprintf(fprintf(文件指针,格式字符串,输出列表文件指针,格式字符串,输出列表););v在他们的格式中,除了文件指针,其他的格式和在他们的格式中,除了文件指针,其他的格式和scanf()scanf()和和 print
17、f()printf()函数是一致的。但是在使用函数是一致的。但是在使用中要注意写入的格式和读出的格式有一定的区别。中要注意写入的格式和读出的格式有一定的区别。188.3 8.3 文件的读写文件的读写#include void main() file *fp; int i,k,n; fp=fopen(data.dat, w); for (i=1;i6;i+) fprintf(fp, %d,i); if(i%3=0) fprintf(fp,n); fclose(fp); fp=fopen(data.dat, r); fscanf(fp, %d%d,&k,&n); printf(k=
18、%d,n=%dn,k,n); fclose(fp);198.3 8.3 文件的读写文件的读写v2 2fputc()fputc()和和 fgetc()fgetc()v(1 1)函数的功能就是将字符写入到)函数的功能就是将字符写入到fpfp所指向的文所指向的文件中去。它在语言的头文件件中去。它在语言的头文件中定义的中定义的格式为:格式为:vint fputc(int c,file int fputc(int c,file * *fp);fp);v调用方式为:调用方式为:vfputc(ch,fpfputc(ch,fp); ;vchch是一个字符变量,也可是字符常量。是一个字符变量,也可是字符常量。f
19、pfp是文件是文件的指针。的指针。v如果输出成功,这个函数返回的值就是这个函数如果输出成功,这个函数返回的值就是这个函数输出的字符,否则,返回输出的字符,否则,返回eofeof(也就是(也就是-1-1)。)。20#include #include void main() file *fp; char ch,filename12; printf(please input filename:); scanf(%s,filename); if(fp= fopen(filename, w)=null) printf(cannot open input-file:%sn,filename); exit(
20、0); printf(please begin input string:n); ch=getchar(); while(ch=getchar()!=n) fputc(ch,fp); fclose(fp);218.3 8.3 文件的读写文件的读写v(2 2)fgetc()fgetc()函数是从一个打开的磁盘文件中读函数是从一个打开的磁盘文件中读取一个字符,它在语言的头文件取一个字符,它在语言的头文件中定中定义的格式为:义的格式为:vint fgetc(int fgetc(* *fp);fp);v调用方式为:调用方式为:vch=fgetc(fp);ch=fgetc(fp);v其中其中chch是一
21、个字符变量。是一个字符变量。fpfp是一个文件的指针。是一个文件的指针。22#include #include void main() file *fp; char ch,filename12; printf(please input filename:); scanf(%s,filename); if(fp= fopen(filename, r)=null) printf(cannot open input-file:%sn,filename); exit(0); printf(begin output string:n); while(ch=fgetc(fp)!=eof) putchar(
22、ch); putchar(n); fclose(fp);238.3 8.3 文件的读写文件的读写#include void main(int argc,char *argv) file *fp1,*fp2; char ch; if (argc!=3) printf(“input argument error!”);exit(0); if(fp1=fopen(argv1, “r”)=null) printf(“cannot open source-file:%sn”,in_file); exit(0); if(fp2= fopen(argv2, “w”)=null) printf(“cannot
23、 open object-file:%sn”,out_file); exit(0); while(ch=fgetc(fp1)!=eof) fputc(ch,fp2); fclose(fp1); fclose(fp2);完成文件复制完成文件复制248.3 8.3 文件的读写文件的读写v3 3fread() fread() 函数和函数和fwrite()fwrite()函数函数v这两函数也是向一个打开的文件内写入和读出数这两函数也是向一个打开的文件内写入和读出数据。但使用方式有所不同。据。但使用方式有所不同。v(1 1)fwrite()fwrite()是将某一个二进制数据写入到磁盘是将某一个二进制数
24、据写入到磁盘文件中。该函数的格式为:文件中。该函数的格式为:vint fwrite(void int fwrite(void * *buffer,int num_byte,int buffer,int num_byte,int count,fp);count,fp); void void * *buffer buffer 数据缓冲区。数据缓冲区。 int num_byte int num_byte 所要读取文件的字节数。所要读取文件的字节数。 int count int count 注明所要读取数据的倍数。注明所要读取数据的倍数。 fp fp 文件指针。文件指针。258.3 8.3 文件的读写
25、文件的读写v将下列矩阵的数据保存在给定的数据文件中。将下列矩阵的数据保存在给定的数据文件中。 1.12.13.14.15.16.17.18.19.1 10.1 11.1 12.1#include #include #include #define col 4#define row 3#define f 1626void main() file *fp;float a34=1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,11.1,12.1; char w_name10; int i,j; float (*p)4; printf(please input w_na
26、me:); scanf(%s,w_name); if(fp=fopen(w_name,wb)=null) printf(cannot open filen);exit(0); p=a; for (i=0;irow;i+) fwrite(p+i,f,col,fp); fclose(fp);278.3 8.3 文件的读写文件的读写v(2 2)fread()fread()是将某一个二进制数据读入到数据是将某一个二进制数据读入到数据缓冲区。该函数的格式为:缓冲区。该函数的格式为:vint fread(void int fread(void * *buffer,int num_byte,int buff
27、er,int num_byte,int count,fp);count,fp);v该函数共有四个参数该函数共有四个参数 void void * *buffer buffer 数据缓冲区。数据缓冲区。 int num_byte int num_byte 所要读取文件的字节数。所要读取文件的字节数。 int coun int coun 注明所要读取数据的倍数。注明所要读取数据的倍数。 fp fp 文件指针。文件指针。v我们用我们用fread()fread()函数将上题数据读入到一个数组中函数将上题数据读入到一个数组中去。去。#include #include #include #define co
28、l 4#define row 328void main() file *fp; float b34=0; /读出用写入的同种方式 char r_name10; int i,j; float (*p)4; printf(please input r_name:); scanf(%s,r_name); if(fp=fopen(r_name,rb)=null) printf(cannot open filen);exit(0); p=b; for (i=0;irow;i+) fread(p+i,sizeof(float),col,fp); /写入的方式相同 fclose(fp); for (i=0;
29、irow;i+) /显示读出的结果 for (j=0;jcol;j+) printf(%4g ,bij); printf(n); 298.3 8.3 文件的读写文件的读写v4 4其他读写函数其他读写函数v(1 1)putw()putw()和和getw()getw()函数函数v这两个函数是将一个整型数写到文件中或者从一这两个函数是将一个整型数写到文件中或者从一个文件中读取一个整数。注意一个整型数占用个文件中读取一个整数。注意一个整型数占用2 2个个字节。但有一个必要条件,它所打开的文件一定字节。但有一个必要条件,它所打开的文件一定是二进制文件格式。它们的使用方式是:是二进制文件格式。它们的使用方
30、式是:vputw(a,fp);putw(a,fp);va=getw(fp);a=getw(fp);v其中其中a a为一个整数,为一个整数,fpfp为文件指针。也可直接将以为文件指针。也可直接将以整数写入到文件中。其格式为:整数写入到文件中。其格式为:vputw(10,fp);putw(10,fp);30#include #include void main() file *fp; int a,i; if(fp= fopen(data.dat,wb+)=null) printf(cannot open input-file: data.dat.n); exit(0); for(a=0;a=15;
31、a+) putw(a,fp); fclose(fp); if(fp= fopen(data.dat,rb+)=null) printf(cannot open output-file: data.dat.n); exit(0); for(i=0;i=15;i+) a=getw(fp); printf(%2xn,a); printf(n); fclose(fp); 318.3 8.3 文件的读写文件的读写v(2 2)fgets()fgets()和和fputs()fputs()函数函数v这两个函数是将一个字符串写入到一个文件中,这两个函数是将一个字符串写入到一个文件中,他们的格式为:他们的格式为:
32、vfgets(str,n,fp);fgets(str,n,fp);vfputs(str,fp);fputs(str,fp);vstrstr为字符串数组或者字符串指针。为字符串数组或者字符串指针。n n为读出的字为读出的字符个数,符个数,fpfp为文件指针。这里打开的文件方式没为文件指针。这里打开的文件方式没有明确的要求,可以是文本方式也可以是二进制有明确的要求,可以是文本方式也可以是二进制方式。方式。32#include #include void main() file *fp; char *str1=abcdefghijklmnopqrstuvwxyz,str230; int n=26;
33、if(fp= fopen(data.dat,w+)=null) printf(cannot open output-file: data.dat.n); exit(0); fputs(str1,fp); fclose(fp); if(fp= fopen(data.dat,r+)=null) printf(cannot open input-file: data.dat.n); exit(0); fgets(str2,n-1,fp); /起始位置为“0”,读取n-1个 printf(str=%sn,str2); fclose(fp); 338.4 8.4 文件的指针定位文件的指针定位vc c语言
34、打开的每个文件,都有一个文件指针牵引,语言打开的每个文件,都有一个文件指针牵引,文件指针是一看不见游标。文件指针是一看不见游标。v当你对文件进行一次读写,该指针都会自动的加当你对文件进行一次读写,该指针都会自动的加“1”1”,这个对初学者是一个比较难理解的概念。,这个对初学者是一个比较难理解的概念。也是难以运用的一种方式。也是难以运用的一种方式。v但是,我们对文件进行操作时难免需要指针按照但是,我们对文件进行操作时难免需要指针按照我们的意识进行运动。这样我们就要对指针的运我们的意识进行运动。这样我们就要对指针的运行方向,要有具有能控制的方式。行方向,要有具有能控制的方式。 348.4 8.4
35、文件的指针定位文件的指针定位v1 1rewind()rewind()函数函数v该函数被称之回绕函数,来源于磁带机的该函数被称之回绕函数,来源于磁带机的“倒倒带带”,早期计算机的外部大型数据存储器是由盘,早期计算机的外部大型数据存储器是由盘式磁带机完成的,当一盘数据被读取完成,就需式磁带机完成的,当一盘数据被读取完成,就需要将磁带回绕。以便下一次读取数据时使用。在要将磁带回绕。以便下一次读取数据时使用。在c c语言中,将其引申为指针归位,就是将指针指向语言中,将其引申为指针归位,就是将指针指向文件头,无论指针当前在什么位置。文件头,无论指针当前在什么位置。v其格式为:其格式为:vrewind(f
36、p);rewind(fp);358.4 8.4 文件的指针定位文件的指针定位#include #includevoid main() file *fp; int a,i; if(fp= fopen(data.dat,wb+)=null) printf(cannot open input-file: data.dat.n); exit(0); for(a=0;a=15;a+) putw(a,fp); rewind(fp); for(i=0;i=15;i+) a=getw(fp); printf(%2x,a); printf(n); fclose(fp);368.4 8.4 文件的指针定位文件的指
37、针定位v2 2fseek()fseek()函数函数v该函数可将当前文件指针所指位置再次定位该函数可将当前文件指针所指位置再次定位vfseek(fseek(文件指针,位移量,起始点文件指针,位移量,起始点) )v其函数原型为:其函数原型为:vint fseek(fp,long num_byte,int origin);int fseek(fp,long num_byte,int origin);vfp, fp, 为文件指针。为文件指针。vlong num_byte, long num_byte, 长整形数,位移量。正数表示向长整形数,位移量。正数表示向文件尾的方向移动指针。负表示向文件头的方向文
38、件尾的方向移动指针。负表示向文件头的方向移动指针。移动指针。vint originint origin, “ “0”0”表示从文件头开始。表示从文件头开始。“1”1”表表示从当前位置开始。示从当前位置开始。“2”2”表示文件尾开始。表示文件尾开始。378.4 8.4 文件的指针定位文件的指针定位#include #include void main() file *fp; char *str1=abcdefghijklmnopqrstuvwxyz,ch; int i,n=26; if(fp= fopen(data.dat,w+)=null) printf(cannot open output-
39、file: data.dat.n); exit(0); fputs(str1,fp); rewind(fp); for(i=0;i=n-1;i+=2) ch=fgetc(fp); fseek(fp,1,1); printf(%c ,ch); printf(n); fclose(fp);388.4 8.4 文件的指针定位文件的指针定位v3 3ftell()ftell()函数函数v该函数是报告文件指针的当前位置,一般是一整该函数是报告文件指针的当前位置,一般是一整数的形势报告。该函数的书写格式为:数的形势报告。该函数的书写格式为:v ftell(fp);ftell(fp);vfpfp为文件指针。为
40、文件指针。v如果该函的返回值为如果该函的返回值为-1l-1l则认为表示出错。具体用则认为表示出错。具体用法用例题加以说明。法用例题加以说明。398.4 8.4 文件的指针定位文件的指针定位void main() file *fp;char *str1=abcdefghijklmnopqrstuvwxyz,ch;int j,i,n=26;if(fp= fopen(data.dat,w+)=null)printf(cannot open output-file: data.dat.n); exit(0);fputs(str1,fp);rewind(fp);for(i=0;i=n-1;i+)j=ft
41、ell(fp);printf(j=%2d,j);fseek(fp,i,0);ch=fgetc(fp);printf(%c ,ch);if(i+1)%4=0)printf(n); printf(n);fclose(fp); 408.5 8.5 文件的其他检测函数文件的其他检测函数v还有一些关于文件出错处理的函数还有一些关于文件出错处理的函数, ,这些函数一般这些函数一般是给系统管理员编程时使用的。是给系统管理员编程时使用的。v1 1feof()feof()v该函数的功能是判断函数指针是否已经指向文件该函数的功能是判断函数指针是否已经指向文件尾。往往我们对打开的文件的内容是不清楚的,尾。往往我们对
42、打开的文件的内容是不清楚的,尤其是其长度。所起要想将一个文件的内容全部尤其是其长度。所起要想将一个文件的内容全部处理,只能借助该函数加以完成。该函数原型为:处理,只能借助该函数加以完成。该函数原型为:vint feof(fp);int feof(fp);v其中其中fpfp为文件指针。为文件指针。v当给出一文本文件名称后将其内容显示在屏幕上。当给出一文本文件名称后将其内容显示在屏幕上。 41#include #include void main() file *fp; char filename12; printf(please input filename:); scanf(%s,filename); if(fp= fopen(filename,r+)=null) printf(cannot open input-file:%sn,filename
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 蜘蛛织网活动方案
- 藏语敬语活动方案
- 虎年新年庙会活动方案
- 运动大循环活动方案
- 超市古装活动方案
- 设计公司宣传策划方案
- 趣味闯关游戏活动方案
- 电网安全生产知识题库及答案解析
- 劳务派遣三级考题及答案
- 2025年神经外科医师脊柱畸形手术处理流程模拟考试试题及答案解析
- 2026沈阳市面向国内部分高校应届毕业生招聘教师1446人考试模拟试题及答案解析
- 河流与湖泊课件-地理粤人版八年级上册
- 北京市海淀区2023-2024学年七年级上学期数学期中考试试卷(含答案)
- 2025年及未来5年中国足浴服务行业发展潜力分析及投资战略咨询报告
- 小红书运营知识培训班课件
- 2025四川天府银行秋季校园招聘笔试历年典型考题及考点剖析附带答案详解
- 请求权基础课件大纲
- 4.6.3神经系统支配下的运动教学设计-人教版生物八年级上册
- 林区安全生产培训课件
- 学生宿舍用电安全培训课件
- 垫付农产品采购资金服务合同模板
评论
0/150
提交评论