您的位置:首页 > 运维架构 > Linux

Linux文件操作的一些基本知识(1)

2013-08-17 03:28 288 查看
Linux下一切皆文件,文件大致可分为两类:标准文件和普通文件。标准文件指的是标准输出文件(主要指显示器)和标准输入文件(主要指键盘);普通文件指的是磁盘文件。

标准设备文件中的标准输入文件的文件指针是 stdin,文件号是0;

标准输出文件的文件指针是stdout,文件号是1;

标准错误文件的文件指针是stderr,文件号是2;

所以在正常情况下文件号0,1,2用户是不能用的,用户能用的文件号是从3开始的。若是在特殊情况下需要用到0,1,2,则需要进行宏定义:

0:STDIN_FILENO

1: STDOUT_FILENO

2 STDERR_FILENO

下面介绍几个常用文件操作函数(标准文件函数):

A:打开文件 fopen

定义: FILE *fopen(“文件名或文件路径”,“文件的打开方式”);

可以将其打开的结果赋给一个指针,将其结果返回,以了解文件的打开情况。若打开失败则返回值是NULL,若打开成功则返回值一般是大于3。

例如:



若成功输出结果是:



如果在fopen命令中输入的文件不存在的话fopen就会返回NULL,打开文件失败,且会出现 “段错误” 的提示。

例如:



文件夹里,没有c2.txt 的文件:



输出结果是:



其中打开文本文件方式主要有6种:

(1)“r” 以只读方式打开已经存在的文件(必须为已经存在的文件,否则会出错);

(2)“w” 以只写方式打开文件,若文件不存在则自动创建新文件,若文件已存在则覆盖原文件里的内容;

(3)“a” 以只写追加方式打开文件,若文件不存在则自动创建新文件,若文件已存在则在原文件结尾追加内容;

(4)“r+” 以读写方式打开已经存在的文件(必须为已经存在的文件,否则会出错);

(5)“w+” 以读写方式打开文件,若文件不存在则自动创建新文件,若文件已存在则覆盖原文件里的内容;

(6)“a+” 以读写追加方式打开文件,若文件不存在则自动创建新文件,若文件已存在则在原文件结尾追加内容;

****若要打开二进制文件可以在打开文本文件方式的命令基础上加b, 例如“rb” “rb+” “ab" “ab+”。意义和打开文本文件相同。

例如:



输入结果是:



B.文件关闭: fclose

定义:int fclose(FILE *fp);

当关闭成功时返回值是0;失败为非0;

总结:fopen 命令其实是将磁盘文件里的指定文件放到输入缓冲区,以待系统进行处理;

而fclose命令则是将处理后的内容从输出缓区放到磁盘文件里存储起来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: