fopen与读写的标识r,r+,rb+,rt+,w+.....

原创 2011年01月23日 19:18:00

函数简介

  函数功能: 打开一个文件

  函数原型:FILE * fopen(const char * path,const char * mode);

  相关函数:openfclose,fopen_s[1] ,_wfopen

  所需库: <stdio.h>

  返回值: 文件顺利打开后,指向该流的文件指针就会被返回。若果文件打开失败则返回NULL,并把错误代码存在errno 中。

  一般而言,打开文件后会作一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以在fopen()后请作错误判断及处理。

  参数说明:

  参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。

  mode有下列几种形态字符串:

  r 打开只读文件,该文件必须存在。

  r+ 打开可读写的文件,该文件必须存在。

  rb+ 读写打开一个二进制文件,只允许读写数据。

  rt+ 读写打开一个文本文件,允许读和写。

  w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

  w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

  a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)

  a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)

  wb 只写打开或新建一个二进制文件;只允许写数据。

  wb+ 读写打开或建立一个二进制文件,允许读和写。

  wt+ 读写打开或着建立一个文本文件;允许读写。

  at+ 读写打开一个文本文件,允许读或在文本末追加数据。

  ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。

  上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会参考umask 值。

  有些C编译系统可能不完全提供所有这些功能,有的C版本不用"r+","w+","a+",而用"rw","wr","ar"等,读者注意所用系统的规定。

fopen函数以‘rb’模式 和 ‘r’ 模式打开文件的不同

交互式计算机图形学——基于opengl着色器的自顶向下方法的附录中,给出了读取glsl的函数: char* readShaderSource(const char *path){ FILE *fp ...
  • imcomma
  • imcomma
  • 2016年10月26日 18:22
  • 842

fopen使用的"r"的区别"rb"

fopen打开文件,这里与文件相关的操作使用的使用r或者rb 有些区别的地方在于是否是一个二进制的形式。 函数原型:FILE * fopen(const char * path,const ch...

C中fopen打开方式r和rb的区别

情境:文件:png图片,前8个字节是:89 50 4E 47 0D 0A 1A 0A 如果以如下代码来获取前8个字节char buffer[8] = {0};FILE* fp = fopen("png...

fopen()函数

1.2 文件的输入输出函数 键盘、显示器、打印机、磁盘驱动器等逻辑设备, 其输入输出都可以通过文件管理的方法来完成。而在编程时使用最多的要算是磁盘文件, 因此本节主要以磁盘文件为主, 详细介绍...
  • Borenbao
  • Borenbao
  • 2006年06月29日 10:45
  • 88925

fopen中w w+ wb区别:

在C语言中,大家常用到fopen打开文件,准备进行写操作,再用fwrite把数据写入文件,最后用fclose关闭文件。 如以下C代码:   #include char buf[10] =...

C\C++中 fopen中w w+ wb区别:

在C语言中,大家常用到fopen打开文件,准备进行写操作,再用fwrite把数据写入文件,最后用fclose关闭文件。 如以下C代码:   #include char buf...
  • SMF0504
  • SMF0504
  • 2016年08月05日 09:42
  • 18458

fopen中w和wb的区别

在C语言中,经常用到fopen打开文件,准备进行写操作,再用fwrite把数据写入文件,最后用fclose关闭文件。 如以下C代码: #include char buf[10] = {...

fopen 参数的意义 w wb r rb

函数fopen是一个标准c函数,其功能是打开一个文件,之后便可以进行读或写的操作.其原型是这样的:FILE *fopen( const char *filename, const char *mode...

fopen()、fwrite()、fread()函数使用说明与示例

fopen()函数: 1.作用: 在C语言中fopen()函数用于打开指定路径的文件,获取指向该文件的指针。 2.函数原型: FILE * fopen(const char * path,const ...

利用fprintf进行文件操作--向文件中追加写入

#include   #include    FILE  *fp;  fp=fopen("C://rect.txt","a");//参数a表示追加写入  fprintf(fp,"%d ,"...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:fopen与读写的标识r,r+,rb+,rt+,w+.....
举报原因:
原因补充:

(最多只允许输入30个字)