首页 > 其他 > 详细

unix文件操作函数

时间:2014-05-10 03:00:27      阅读:364      评论:0      收藏:0      [点我收藏+]

1. fopen函数

bubuko.com,布布扣
1 #include <stdio.h>
2 FILE *fopen(const char *path, const char *mode)
bubuko.com,布布扣

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

参数说明:

  mode: 1)r        以只读方式打开文件,该文件必须存在。

        2) r+     以可读写方式打开文件,该文件必须存在。

        3) rb+   以读写打开一个二进制文件,允许读写数据,文件必须存在。

        4) rw+  打开一个文本文件,允许读和写。

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

        6) w+   打开可读写文件,若文件存在则文件长度清为0,即文件文件内容会消失。若文件不存在则创建文件文件。

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

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

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

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

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

                  12)at+   打开一个文件文件

 总结:a--append,添加新内容到文件尾,删除原文件的EOF。

            t--打开的文件的类型是文本文件,

            +--表示对文件既可以读也可以写。

            fopen建立的新文件会具有 S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH(0666)权限。

            二进制文件和文本文件的区别:

            1.  在windows系统中,文本模式下,文件以“\r\n”代表换行,若以文件模式打开文件,并用fputs等函数写入换行符“\n”时,函数会自动在“\n”前面加上"\r"。即实际写入文件的是“\r\n”.

            2.  在类UNIX/LINIX系统中文本模式下,文件以“\n”代表换行。所以unix在文本模式和二进制模式下并无区别。

 

注意:在文件操作时

  1)在定义文件指针时,要将文件指针指向空;如FILE *fp = NULL;

  2)文件操作完成后,需要将文件关闭,一定要注意,否则会造成文件所占用的内存泄漏和在下次访问时出现问题。

  3)文件关闭后,需要将文件指针指向空。这样做会防止出现游离指针,而对整个工程造成不必要的麻烦;如:fp = NULL;

 

bubuko.com,布布扣
1 #include <stdio.h>
2 int fclose(FILE *steream)
3 关闭一个流。
4 注意:使用fclose()函数就可以把缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区。
bubuko.com,布布扣

 

unix文件操作函数,布布扣,bubuko.com

unix文件操作函数

原文:http://www.cnblogs.com/blankqdb/p/3719783.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!