本文介绍了文件描述符,
1、首先说什么是文件描述符,它有什么作用?
文件描述符是一个简单的整数,用以标明每一个被进程所打开的文件和socket。
基于文件描述符的输入输出函数:
open:打开一个文件,并指定访问该文件的方式,调用成功后返回一个文件描述符。
creat:打开一个文件,如果该文件不存在,则创建它,调用成功后返回一个文件描述符。
close:关闭文件,进程对文件所加的锁全都被释放。
read:从文件描述符对应的文件中读取数据,调用成功后返回读出的字节数。
write:向文件描述符对应的文件中写入数据,调用成功后返回写入的字节数。
ftruncate:把文件描述符对应的文件缩短到指定的长度,调用成功后返回0。
lseek:在文件描述符对应的文件里把文件指针设定到指定的位置,调用成功后返回新指针的位置。
fsync:将所有已写入文件中的数据真正写到磁盘或其他下层设备上,调用成功后返回0。
fstat:返回文件描述符对应的文件的相关信息,把结果保存在struct stat中,调用成功后返回0。
fchown:改变与打开文件相关联的所有者和所有组,调用成功后返回0。
fchmod:把文件描述符对应的文件的权限位改为指定的八进制模式,调用成功后返回0。
flock:用于向文件描述符对应的文件施加建议性锁,调用成功后返回0。
fcntl:既能施加建议性锁也能施加强制性锁,能建立记录锁、读取锁和写入锁,调用成功后返回0。
dup:复制文件描述符,返回没使用的文件描述符中最小的编号。
dup2:由用户指定返回的文件描述符的值,用来重新打开或重定向一个文件描述符。
select:同时从多个文件描述符读取数据或向多个文件描述符写入数据。
1、首先说什么是文件描述符,它有什么作用?
文件描述符是一个简单的整数,用以标明每一个被进程所打开的文件和socket。
基于文件描述符的输入输出函数:
open:打开一个文件,并指定访问该文件的方式,调用成功后返回一个文件描述符。
creat:打开一个文件,如果该文件不存在,则创建它,调用成功后返回一个文件描述符。
close:关闭文件,进程对文件所加的锁全都被释放。
read:从文件描述符对应的文件中读取数据,调用成功后返回读出的字节数。
write:向文件描述符对应的文件中写入数据,调用成功后返回写入的字节数。
ftruncate:把文件描述符对应的文件缩短到指定的长度,调用成功后返回0。
lseek:在文件描述符对应的文件里把文件指针设定到指定的位置,调用成功后返回新指针的位置。
fsync:将所有已写入文件中的数据真正写到磁盘或其他下层设备上,调用成功后返回0。
fstat:返回文件描述符对应的文件的相关信息,把结果保存在struct stat中,调用成功后返回0。
fchown:改变与打开文件相关联的所有者和所有组,调用成功后返回0。
fchmod:把文件描述符对应的文件的权限位改为指定的八进制模式,调用成功后返回0。
flock:用于向文件描述符对应的文件施加建议性锁,调用成功后返回0。
fcntl:既能施加建议性锁也能施加强制性锁,能建立记录锁、读取锁和写入锁,调用成功后返回0。
dup:复制文件描述符,返回没使用的文件描述符中最小的编号。
dup2:由用户指定返回的文件描述符的值,用来重新打开或重定向一个文件描述符。
select:同时从多个文件描述符读取数据或向多个文件描述符写入数据。
详细请看原文: