分类: LINUX
2009-03-17 08:52:23
int open(const char *pathname, int flags);另外LINUX对所读的最大长度是有限制的,SIZE_MAX通常是7fffffff
int open(const char *pathname, int flags, mode_t mode);
int creat(const char *pathname, mode_t mode);
其中pathname是文件所在的路径,flags主要指明是读,写,追加,创建等文件操作,这个是可以用|符号来一并指定的。
接下来是mode,它会在创建时指定用户,组,其它人的权限。
随后对应的文件操作当然是read了。
不过要注意的是read本身是会被中断的。
read的函数原型如下:
#include
ssize_t read(int fd, void *buf, ssize_t len);
要是想读取一个文件的所有内容,那么用如下的代码。
ssize_t ret;
while(len != 0; && (ret = read(fd, buf,len)) != 0)
{
if(ret == -1)
{
if(errno == EINTR)
continue;
perror("read");
break;
}
len -= ret;
buf += ret;
}