Linux----文件I/O

1.文件描述符:每次我们打开一个文件,就会得到一个对应于该文件的较小的整数,这个整数就是这个文件的文件描述符。在shell操作中,0,1,2这三个文件描述附总是打开的,通常是指向shell运行所在的终端。0对应于标准输入,1对应于标准输出,2对应于标准错误。因为0,1,2这三个文件描述符总是打开的,所以一般我们打开一个文件时,该文件所对应的文件描述符为3,再打开一个文件时,新打开的文件描述符为4,以此类推...

举例:

#include <iostream>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
using namespace std;
int main()
{
	int fd1, fd2, fd3;
	fd1 = open("1.txt", O_RDONLY);     //open the first file
	fd2 = open("2.txt", O_RDONLY);    //open the second file
	fd3 = open("3.txt", O_RDONLY);    //open the third file
	cout << fd1 << endl;                     //the first file describe
	cout << fd2 << endl;                     //the second file describe
	cout << fd3 << endl;                     //the third file describe
	return 0;
}
运行结果:

liu@liu:~$ ./fd
3
4
5
通过上述结果,可以得知,新打开的文件的文件描述符从3开始,依次为3,4,5,6...等等


2.与文件I/O相关最常用的系统调用:

   open()

   write()

   read()

   close()

   具体用法使用 man 2 open, man 2 write等具体查看。


3.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。