crazyhadoop 发表于 2013-05-28 23:33

每天温习一个Linux函数 5.28

希望由浅入深坚持搞下去,先找几个简单的试试,慢慢会加大力度的。


今天就测试一个最简单的吧 fopen函数~~


需要包含的头文件 <stdio.h>

FILE *fopen(const char *path, const char *mode);返回值:成功返回文件指针(亦可称之为文件句柄),出错返回NULL并设置errno

FILE是C标准库中定义的结构体类型,path可以是相对路径也可以是绝对路径,mode表示打开方式是读还是写。常用的有如下几种,部分可以组合使用

"r"
只读,文件必须已存在

"w"
只写,如果文件不存在则创建,如果文件已存在则把文件长度截断(Truncate)为0字节再重新写,也就是替换掉原来的文件内容

"a"
只能在文件末尾追加数据,如果文件不存在则创建

"r+"
允许读和写,文件必须已存在

"w+"
允许读和写,如果文件不存在则创建,若已存在则把文件长度截断为0字节再重新写

"a+"
允许读和追加数据,如果文件不存在则创建。
#include<stdio.h>
#include<stdlib.h>


int main()
{
      FILE* fp;
      if ( (fp = fopen("hello.world", "r")) == NULL)
      {   
          printf("error open file !\n");
          exit(1);// 若出现该提示,可在当前目录下建立一个同名文件,再测式一下。
      }
      else
      {
          printf("open succuess\n");
      }
}
可以试试其他几种模式,看看返回值。

MMMIX 发表于 2013-05-29 11:09

回复 1# crazyhadoop


    一点建议:区分下函数所属的标准,是 C 标准库中的?POSIX 中的?还是 Linux 特有的?了解函数在什么环境下可用,对写出可移植性好的代码很重要。

crazyhadoop 发表于 2013-05-29 13:19

回复 2# MMMIX


    好的
页: [1]
查看完整版本: 每天温习一个Linux函数 5.28