首页 百科知识 文件打开方式不显示选择默认程序

文件打开方式不显示选择默认程序

时间:2022-10-16 百科知识 版权反馈
【摘要】:如果打开文件成功,fopen函数将返回一个指向FILE结构类型的文件指针。fp将作为已打开文件的特殊标识符,即在程序中对文件的所有访问都将通过fp实现。用“r”选择项打开的文件不能写。如:如果要打开的文件不存在,fopen函数返回NULL指针,也就是0,屏上显示出提示信息。exit函数终止整个程序执行。为了避免文件打开失败时对文件产生破坏,通常在打开文件时,增加文件是否成功被打开的检测语句,即当fp等于NULL时,打开文件失败,则终止程序。

9.3.1 打开文件函数——fopen

要访问一个文件,必须用fopen函数先打开该文件。打开文件,需要确定:(1)欲访问文件的文件名;(2)访问文件模式;(3)文件存储的位置。

函数原型为:

  FILE * fopen(const char * path,const char * mode);

第一个参数表示要打开的文件名,第二个参数确定访问该文件的模式。允许使用的模式有读(“r”)、写(“w”)和添加(“a”)等。

如果打开文件成功,fopen函数将返回一个指向FILE结构类型的文件指针。这个指针赋予fp后,fp就指向打开的文件。fp将作为已打开文件的特殊标识符,即在程序中对文件的所有访问都将通过fp实现。

如果要从已存在的文件中读取信息,在打开文件时使用“r”选择项。fopen函数查找由第一个参数说明的文件,并返回一个指向该文件的指针。如果这个文件不存在,fopen函数返回一空指针。用“r”选择项打开的文件不能写。

如果要将数据写入文件,在打开文件时使用“w”选择项。“w”选择项建立一个新文件,只能写入,不能读。如果磁盘上存在一个同名文件,则覆盖它,文件中原有的内容将丢失。

如果要向已存在的文件中增添内容,使用“a”选择项。打开已存在的文件,如果打开成功,将读写指针移到当前文件的结尾,并从该位置开始写入。如果文件不存在,就建立一个相同名字的新文件。这种方式的文件只能写。

当需要同时读写一个文件时,可以使用“r+”、“w+”、“a+”三个选择项来扩充前三个选择项的功能。

·使用“r+”选择项,将r选择项的功能扩充为可读可写文件。

·使用“w+”选择项建立一个可读可写的新文件。

·使用a+可以从文件的当前位置开始往文件中添加内容,而且可同时读写文件。

在上述打开方式的基础上,附加“t”或“b”字符,则可指定按文本方式还是按二进制方式打开。如果不指定“t”或“b”,其缺省状态为文本方式。如:

·“rb”打开一个二进制文件,只读。

·“wb”打开一个二进制文件,只写。

·“ab”对一个二进制文件进行添加。

打开文件的工作可用下面语句完成:

  FILE,*fp;

  fp=fopen(filename,mode);

其中,fp定义为指向FILE类型的指针。

下面程序段以读出方式打开一个文件:

img557

img558

如果要打开的文件不存在,fopen函数返回NULL指针,也就是0,屏上显示出提示信息。exit函数终止整个程序执行。为了避免文件打开失败时对文件产生破坏,通常在打开文件时,增加文件是否成功被打开的检测语句,即当fp等于NULL时,打开文件失败,则终止程序。

对文件进行读/写操作,fp指针自动进行修改,指向下一个读/写位置。

需要注意的是,I/O是针对计算机而言的;文件的读操作,是计算机的输入操作;文件的写操作,是计算机的输出操作。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈