从今天开始学习UNIX系统,可用的文件I/O函数——打开文件、读文件、写文件等。5个函数:open、read、write、lseek以及close。不同缓冲长度对read和write函数的影响。
不带缓冲的I/O unbuffered I/O,与标准I/O函数相对照。每个read和write都调用内核中的一个系统调用。这些不是ISO C的组成部分,但是是POSIX.1和Single UNIX Specification的组成部分。
文件描述符
对于内核而言,所有打开的文件都通过文件描述符引用,它是一份非负数。
幻术0、1、2已经标准换,但是替换替换成符号常量STDIN_FILENO、STDOUT_FILENO和STTDERR_FILENO以提高可读性。都在头文件<unistd.h>中定义。
变换范围是0~OPEN_MAX-1。上限之前是10(即20个文件),目前很多系统为63个。
#include <fcntl.h>
int open(const char *path,int oflag,...);
int openat(int fd,const char *path,...);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。