Linux下文件操作的主要系统调用,注意要点及说明!

基本上所有的操作系统都会有对文件的操作,也叫文件I/O。除开可以C函数库中基本操作外,所有操作系统都会针对各自的特点重新提供一些操作文件的API,下面描述一下linux下的主要文件操作API。

一、函数名称及格式。

creat   函数(相信很多的初学者都会在这个名字上吃点小亏)- 创建文件

int creat(const char* pathname,mode_t mode);
/* 返回值 :若成功返回为只写打开的文件描述符,若错误则返回 -1*/

open  函数 - 打开文件

int open(const char* pathname,int oflag,.../* mode_t mode*/);
/* 返回值 :若成功返回为文件描述符,若错误则返回 -1*/
close 函数 - 关闭文件
int close(int fileds);
/* 返回值 :若成功返回为0,若错误则返回 -1*/
lseek 函数 - 移动到文件的指定位置
int lseek(int fileds,off_t offset,int whence);
/* 返回值 :若成功返回为新的文件偏移量,若错误则返回 -1*/

read 函数 - 读取文件内容

ssize_t read(int fileds,void*buf,size_t nbytes);
/* 返回值:若是成功返回读到字节数,若是文件结尾则返回0,若是错误则返回-1*/
write 函数 - 向文件中写入内容

ssize_t write(int fileds,const void*buf,size_t nbytes);
/* 返回值:若是成功返回写入字节数,若是错误则返回-1*/

access 函数 - 判断文件的读写权限

int access(const char* pathname,int mode);
/*返回值: 成功返回1,错误返回0*/

二、对应的头文件表:

#include <fcntl.h> 时,可以使用函数:creat();open();access();

#include <unistd.h>时,可以使用函数:close();read();write();lseek();

三、需要注意点说明:

1.  由于creat函数的很多限制,目前常用如下方式替代掉creat函数新建文件:     

open(pathname,O_WRONLY | O_CREAT | O_TRUNC,mode);
2.  读取数据时,若是数据量少于nbytes,则返回实际的读取数。

3.  文件的操作是按照字节的方式操作,因此在计算是一般按照字节计算相应的值。





上一篇:Android安装配置简要步骤!


下一篇:C++基础知识之--- namespace