flock函数c语言 c语言的clock函数( 七 )


错误代码EEXIST 参数pathname 所指的文件已存在,却使用了O_CREAT和O_EXCL旗标 。
EACCESS 参数pathname所指的文件不符合所要求测试的权限 。
EROFS 欲测试写入权限的文件存在于只读文件系统内 。
EFAULT 参数pathname指针超出可存取内存空间 。
EINVAL 参数mode 不正确 。
ENAMETOOLONG 参数pathname太长 。
ENOTDIR 参数pathname不是目录 。
ENOMEM 核心内存不足 。
ELOOP 参数pathname有过多符号连接问题 。
EIO I/O 存取错误 。
附加说明使用access()作用户认证方面的判断要特别小心,例如在access()后再作open()空文件可能会造成系统安全上的问题 。
范例#includeunistd.h
#includesys/types.h
#includesys/stat.h
#includefcntl.h
main()
{
int fd,size;
char s [ ]=”Linux Programmer!\n”,buffer[80];
fd=open(“/tmp/temp”,O_WRONLY|O_CREAT);
write(fd,s,sizeof(s));
close(fd);
fd=open(“/tmp/temp”,O_RDONLY);
size=read(fd,buffer,sizeof(buffer));
close(fd);
printf(“%s”,buffer);
}
执行Linux Programmer!
read(由已打开的文件读取数据)
相关函数readdir,write,fcntl,close,lseek,readlink,fread
表头文件#includeunistd.h
定义函数ssize_t read(int fd,void * buf ,size_t count);
函数说明read()会把参数fd 所指的文件传送count个字节到buf指针所指的内存中 。若参数count为0,则read()不会有作用并返回0 。返回值为实际读取到的字节数,如果返回0,表示已到达文件尾或是无可读取的数据,此外文件读写位置会随读取到的字节移动 。
附加说明如果顺利read()会返回实际读到的字节数,最好能将返回值与参数count 作比较,若返回的字节数比要求读取的字节数少,则有可能读到了文件尾、从管道(pipe)或终端机读?。蛘呤莚ead()被信号中断了读取动作 。当有错误发生时则返回-1,错误代码存入errno中,而文件读写位置则无法预期 。
错误代码EINTR 此调用被信号所中断 。
EAGAIN 当使用不可阻断I/O 时(O_NONBLOCK),若无数据可读取则返回此值 。
EBADF 参数fd 非有效的文件描述词,或该文件已关闭 。
范例参考open() 。
sync(将缓冲区数据写回磁盘)
相关函数fsync
表头文件#includeunistd.h
定义函数int sync(void)
函数说明sync()负责将系统缓冲区数据写回磁盘 , 以确保数据同步 。
返回值返回0 。
write(将数据写入已打开的文件内)
相关函数open,read,fcntl,close,lseek,sync,fsync , fwrite
表头文件#includeunistd.h
定义函数ssize_t write (int fd,const void * buf,size_t count);
函数说明write()会把参数buf所指的内存写入count个字节到参数fd所指的文件内 。当然,文件读写位置也会随之移动 。
返回值如果顺利write()会返回实际写入的字节数 。当有错误发生时则返回-1 , 错误代码存入errno中 。
【flock函数c语言 c语言的clock函数】错误代码EINTR 此调用被信号所中断 。
EAGAIN 当使用不可阻断I/O 时(O_NONBLOCK),若无数据可读取则返回此值 。
EADF 参数fd非有效的文件描述词,或该文件已关闭 。
范例请参考open() 。
关于flock函数c语言和c语言的clock函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。