#api函数

文件和目录之link、unlink、remove和rename函数

任何一个文件可以有多个目录项指向其i节点。创建一个指向现有文件的链接的方法是使用link函数。#include<unistd.h>intlink(constchar*existingpath,constchar*newpath);返回值:若成功返回0,若出错返回-1此函数创建一个新目录项newpath,它引...

文件和目录之chown、fchown和lchown函数

下面几个chown函数可用于更改文件的用户ID和组ID。#include<unistd.h>intchown(constchar*pathname,uid_towner,gid_tgroup);intfchown(intfiledes,uid_towner,gid_tgroup);intlchown(con...

文件和目录之chmod和fchmod函数

本篇博文内容摘自《UNIX环境高级编程》(第二版),仅作个人学习记录所用。关于本书可参考:http://www.apuebook.com/。这两个函数使我们可以更改现有文件的访问权限:#include<sys/stat.h>intchmod(constchar*pathname,mode_tmode);in...

文件和目录之umask函数

本篇博文内容摘自《UNIX环境高级编程》(第二版),仅作个人学习记录所用。关于本书可参考:http://www.apuebook.com/。umask函数为进程设置文件模式创建屏蔽字,并返回以前的值。(这是少数几个没有出错返回函数中的一个。)#include<sys/stat.h>mode_tumask(m...
代码星球 ·2021-02-21

文件和目录之access函数

本篇博文内容摘自《UNIX环境高级编程》(第二版),仅作个人学习记录所用。关于本书可参考:http://www.apuebook.com/。当用open函数打开一个文件时,内核以进程的有效用户ID和有效组ID为基础执行其访问权限测试。有时,进程也希望按其实际用户ID和实际组ID来测试其访问能力。例如当一个进程使用设置用...
代码星球 ·2021-02-21

文件和目录之stat、fstat和lstat函数

#include<sys/stat.h>intstat(constchar*restrictpathname,structstat*restrictbuf);intfstat(intfiledes,structstat*buf);intlstat(constchar*restrictpathname,str...

文件I/O之ioctl函数

ioctl函数是I/O操作的杂物箱。不能用其他函数表示的I/O操作通常都能用ioctl表示。终端I/O是ioctl的最大使用方面。ioctl函数通过对文件描述符发送特定的命令来控制文件描述符所代表的设备。#include<unistd.h>/*SystemV*/#include<sys/ioctl.h...
代码星球 ·2021-02-21

文件I/O之fcntl函数

fcntl函数可以改变已打开的文件的性质。#include<fcntl.h>intfcntl(intfiledes,intcmd,.../*intarg*/);返回值:若成功则依赖于cmd,若出错则返回-1在本节的各实例中,第三个参数总是一个整数,与上面所示函数原型中的注释部分相对应。但是在说明记录锁时,第...
代码星球 ·2021-02-21

文件I/O之sync、fsync和fdatasync函数

传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要重用该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队列,然后等待其到达队首时,才进行实际...

文件I/O(不带缓冲)之dup和dup2函数

下面两个函数都可用来复制一个现有的文件描述符:#include<unistd.h>intdup(intfiledes);intdup2(intfiledes,intfiledes2);两函数的返回值:若成功则返回新的文件描述符,若出错则返回-1由dup返回的新文件描述符一定是当前可用文件描述符中的最小数值。...

文件I/O(不带缓冲)之write函数

调用write函数向打开的文件写数据。#include<unistd.h>ssize_twrite(intfiledes,constvoid*buf,size_tnbytes);返回值:若成功则返回已写的字节数,若出错则返回-1。其返回值通常与参数nbytes的值相同,否则表示出错。write出错的一个常见...

文件I/O(不带缓冲)之read函数

调用read函数从打开文件中读数据。#include<unistd.h>ssize_tread(intfiledes,void*buf,size_tnbytest);返回值:若成功则返回读到的字节数,若已读到文件结尾则返回0,若出错则返回-1。有多种情况可是实际读到的字节数少于要求读的字节数:读普通文件时,...

文件I/O(不带缓冲)之lseek函数

每个打开的文件都有一个与其相关联的“当前文件偏移量”(currentfileoffset)。它通常是一个非负整数,用以度量从文件开始处计算的字节数。通常,读、写操作都从当前文件偏移量处开始,并使偏移量增加所读写的字节数。按系统默认情况,当打开一个文件时,除非指定O_APPEND选项,否则该偏移量被设置为0。可以调用ls...

文件I/O(不带缓冲)之close函数

可调用close函数关闭一个打开的文件:#include<unistd.h>intclose(intfiledes);返回值:若成功则返回0,若出错则返回-1。关闭一个文件时还会释放该进程加在该文件上的所有记录锁。当一个进程终止时,内核自动关闭它所有打开的文件。很多程序都利用了这一功能而不显示地用close...

文件I/O(不带缓冲)之creat函数

本篇博文内容摘自《UNIX环境高级编程》(第二版),仅作个人学习记录所用。关于本书可参考:http://www.apuebook.com/。也可调用creat函数创建一个新文件。#include<fcntl.h>intcreat(constchar*pathname,mode_tmode); 返回...
首页上一页...1718192021...下一页尾页