C语言程序设计项目11文件_第1页
C语言程序设计项目11文件_第2页
C语言程序设计项目11文件_第3页
C语言程序设计项目11文件_第4页
C语言程序设计项目11文件_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

项目11文件1项目导读项目目标项目任务C语言程序设计项目11文件全文共11页,当前为第1页。C语言程序设计项目11文件全文共11页,当前为第2页。C语言程序设计项目11文件全文共11页,当前为第3页。任务11.2文件的打开与关闭11.2.1文件的打开(fopen函数)

ANSIC规定了标准输入输出函数库,用fopen()函数来实现打开文件。fopen函数的调用方式通常为:

FILE*fp;fp=fopen(文件名,使用文件方式);例如:

fp=fopen(“al”,“r”);它表示要打开名字为al的文件,使用文件方式为“读入”(r代表read,即读入),fopen函数会指向al文件的指针并赋给fp,这样fp就和文件al相联系了,或者说,fp指向al文件。C语言程序设计项目11文件全文共11页,当前为第4页。任务11.2文件的打开与关闭11.2.2文件的关闭(fclose函数)在使用完一个文件后应该关闭它,以防止它再被误用,“关闭”就是使文件指针变量不指向该文件,也就是文件指针变量与文件“脱钩”,此后不能再通过该指针对原来与其相联系的文件进行读写操作。除非再次打开,使该指针变量重新指向该文件。用fclose函数关闭文件。fclose函数调用的一般形式为:

fclose(文件指针):例如:

fclose(fp):前面我们曾把打开文件(用fopen函数)时所带回的指针赋给了fp,令通过fp把该文件关闭。即fp不再指向该文件。C语言程序设计项目11文件全文共11页,当前为第5页。任务11.3文件的读写操作12.3.1文件的读写

文件打开之后,就可以对它进行读写了。常用的读写函数如下所述。

1.fputc函数和fgetc函数(putc函数getc函数)(1)fputc函数把一个字符写到磁盘文件上去。其一般调用形式为:

fputc(ch.fp):

其中ch是要输出的字符,它可以是一个字符常量,也可以是一个字符变量。fp是文件指针变量。fputc(ch.fp)函数的作用是将字符(ch的值)输出到fp所指向的文件中去。Fputc还是也带回一个值。如果输出成功则返回值就是输出的字符,如果输出失败,则返回一个EOF(-1)。EOF是在stdio.h文件中定义的符号常量,值为1。C语言程序设计项目11文件全文共11页,当前为第6页。任务11.3文件的读写操作

(2)fgetc函数从指定的文件读入一个字符,该文件必须是以读或读写方式打开的。fgetc函数的调用形式为:

ch=fgetc(fp):

fp为文件型指针变量,ch为字符变量。fgetc函数带回一个字符,赋给ch。如果在执行fgetc函数读字符时遇到文件结束符,还是返回一个文件结束标志EOF(-1)。

(3)fputc和fgetc函数适用举例示例11.1从键盘输入一个字符,逐个把它们送到磁盘上去,直到输入一个“#”为止。

C语言程序设计项目11文件全文共11页,当前为第7页。任务11.3文件的读写操作

#include<stdio.h>Main(){FILE*fp;charch,filename〖10};scanf(“%5”,filename);if((fp=fopen(filename,“w”))==NULL){printf(“cannotopenfile\n”);exit(0);}ch=getchar();while(ch!=‘#’){fputc(ch.fp);putchar(ch);ch=getchar();}fclose(fp);}运行情况如下;filel.c(输入磁盘文件名)computerandc#(输入一个字符串)computerand(输出一个字符串)C语言程序设计项目11文件全文共11页,当前为第8页。任务11.3文件的读写操作11.3.2输入输出的低层接口

计算机系统中各种资源均由OS统一管理,若要使用这些资源,必须向OS发出请求,然后由OS响应这些请求,为此,OS必须提供一些接口,使外层软件和用户程序能通过这些接口方便地使用OS提供的各种功能,称为系统调用。

1.文件的创建、打开、关闭和删除(1)文件的创建当程序员希望创建一个新文件或重写一个老文件时,可使用低层接口creat,其原型如下:

intcreat(char*name,intperms)

其中参数name是用户要建立的新文件名(包括路径名在内),perms是用户指定的新文件存取权限,不同的OS对它的解释不同。C语言程序设计项目11文件全文共11页,当前为第9页。任务11.3文件的读写操作

(2)文件的打开当程序员希望用低层接口读、写一个已存在的文件时,需用open打开指定的文件,如果成功,则返回非负的整型文件描述字,否则返回-1,原型为:

intopen(char*name,intflag,intperms)参数flag用来说明文件打开方式。O_RDONLY所打开的文件只能进行读操作。O_WRONLY所打开的文件只能进行写操作。O_WDWR所打开的文件可读、可写操作。参数perms通常都为0。C语言程序设计项目11文件全文共11页,当前为第10页。任务11.3文件的读写操作

(3)文件的关闭一个程序能够打开的文件数目是受限制的。在UNIX和DOS中通常为20,如果打开的文件已不再使用,则用close关闭。

intclose(intfd)fd为要关闭的文件描述字,返回0表成功。-1关闭失败。(4)删除文件当某文件失去存在价值时,可用unlink函数删除它。

intunlink(char*filename)filename为要删除的文件名,删除成功,返回0,出错返回-1。

2.文件的读、写函数read和write,读/写由open或creat打开或创建的文件。

intread(intfd,char*buf

温馨提示

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

评论

0/150

提交评论