1. fopen函数

 #include <stdio.h>
FILE *fopen(const char *path, const char *mode)

返回:文件顺利打开后,指向该流的文件就会被返回。如何文件打开失败则返回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;

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

unix文件操作函数的更多相关文章

  1. Unix无缓冲文件操作函数、文件信息查询

    问题描述:         Unix无缓冲文件操作函数.文件信息查询 问题解决:        struct stat 结构体信息: 具体代码: 具体源文件:

  2. Unix文件操作

    一.概述 Unix文件操作常用函数包括open.close.creat.lseek.dup.dup2.fcntl等, 其中open.creat. fcntl函数需要包含头文件<fcntl.h&g ...

  3. Linux C 文件操作函数(~上善止水~)

    翻翻笔记,整理一下 C 语言中的文件操作函数 ~~~~~~,多注意细节,maybe 细节决定成败~ 1. fopen /* fopen(打开文件) * * 相关函数 open,fclose * * 表 ...

  4. 常用PHP文件操作函数

    注:文件操作函数的行为受到 php.ini 中设置的影响. 当在 Unix 平台上规定路径时,正斜杠 (/) 用作目录分隔符.而在 Windows 平台上,正斜杠 (/) 和反斜杠 (\) 均可使用. ...

  5. Delphi文件操作函数

    文件是同一种类型元素的有序集合,是内存与外设之间传输数据的渠道.文件的本质是一个数据流,所有的文件实际上是一串二进制序列.文件管理包括:1.文件操作.2.目录操作.3.驱动器操作.三部分. 1.常见文 ...

  6. PHP常用的文件操作函数集锦

    以下是个人总结的PHP文件操作函数.当然,这只是部分,还有很多,我没有列出来. 一 .解析路径: 1 获得文件名:basename();给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件 ...

  7. C语言样式的文件操作函数

    使用C语言样式的文件操作函数,需要包含stdio.h头文件. 1.打开文件的函数: //oflag的取值为“w”或“r”,分别表示以写或读的方式打开 FILE* fd = fopen(filename ...

  8. C语言文件操作函数

    C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * str ...

  9. 总结文件操作函数-文件夹(三)-C语言

    获取.改变当前文件夹: 原型为: #include <unistd.h>   //头文件 char *getcwd(char *buf, size_t size); //获取当前文件夹.相 ...

随机推荐

  1. javascript的错误处理

    1 onerror事件,实例代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind= ...

  2. HTML 5 中的标准属性

    HTML 全局属性 HTML 属性赋予元素意义和语境. 下面的全局属性可用于任何 HTML 元素. (5)= HTML5 中添加的属性. 属性 描述 accesskey 规定激活元素的快捷键. cla ...

  3. Log4net中的调错

    在使用log4net时,感觉最麻烦的就是配置文件了,为了使用方便,我不得不先准备好一个完整的配置文件方案,测试了输出到文本.控制台.windows事件.SQL Server数据库都没有问题,但输出到o ...

  4. 关于C#中泛型类型参数约束(where T : class)

    .NET支持的类型参数约束有以下五种:where T : struct                               | T必须是一个结构类型where T : class       ...

  5. 【原】xcode5&IOS7及以下版本免证书真机调试记录

    搞了有一段IOS开发了,之前一直在企业做,近阶段主要在公司做C++服务端开发,打算在空闲实现搞搞个人开发,为自己赚钱,IDP还没申请下来,所以先用此方法在越狱设备上先做一下app的免证书真机调试,先记 ...

  6. iOS开发网络篇—NSURLConnection基本使用(一)

      一.NSURLConnection的常用类 (1)NSURL:请求地址 (2)NSURLRequest:封装一个请求,保存发给服务器的全部数据,包括一个NSURL对象,请求方法.请求头.请求体.. ...

  7. Swift字符与字符串

    学习来自<极客学院:Swift中的字符串和集合> 工具:Xcode6.4 直接上基础的示例代码,多敲多体会就会有收获:百看不如一敲,一敲就会 import Foundation /**** ...

  8. 敏捷软件开发:原则、模式与实践——第10章 LSP:Liskov替换原则

    第10章 LSP:Liskov替换原则    Liskov替换原则:子类型(subtype)必须能够替换掉它们的基类型(base type). 10.1 违反LSP的情形 10.1.1 简单例子 对L ...

  9. Orchard扩展 自定义后台管理导航菜单 Admin Menu

    金天:学习一个新东西,就要持有拥抱的心态,如果固守在自己先前的概念体系,就会有举步维艰的感觉. 金天:看源码永远是Coder学习的最快捷路径.     看本文需要对Orchard大致体系, 特别是Mo ...

  10. 使用MiniProfiler调试ASP.NET MVC网站性能

    MiniProfiler 以前开发Webform的时候可以开启trace来跟踪页面事件,这对于诊断程序的性能是有很大的帮助的,起到事半功倍的作用,今天我就来谈用mvc开 发项目的调试和性能监控.EF框 ...