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.
原文地址:http://blog.csdn.net/liuwei271551048/article/details/39995523