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

简介: 基本上所有的操作系统都会有对文件的操作,也叫文件I/O。除开可以C函数库中基本操作外,所有操作系统都会针对各自的特点重新提供一些操作文件的API,下面描述一下linux下的主要文件操作API。 一、函数名称及格式。 creat   函数(相信很多的初学者都会在这个名字上吃点小亏)- 创建文件 int creat(const char* pathname,mode_t mode

基本上所有的操作系统都会有对文件的操作,也叫文件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.  文件的操作是按照字节的方式操作,因此在计算是一般按照字节计算相应的值。


 
 
 
目录
相关文章
|
24天前
|
算法 Linux C++
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
29 0
|
1月前
|
存储 Linux 程序员
Linux中的主要系统调用
【2月更文挑战第16天】
|
3月前
|
Linux Windows
Linux系统中的文件操作
Linux系统中的文件操作
|
2月前
|
Linux API 数据安全/隐私保护
Linux下的系统编程——系统调用(五)
Linux下的系统编程——系统调用(五)
45 0
Linux下的系统编程——系统调用(五)
|
3月前
|
Linux
基于 Linux 的文件操作 网络编程的最后一环
Linux下万物皆文件 在了解了客户端和服务器的函数调用之后,我们只需要了解下文件操作就能编写出属于自己的客户端和服务器了,还能让他们进行通信。
23 0
|
1月前
|
存储 Linux C语言
Linux系统下C语言的文件操作
Linux系统下C语言的文件操作
17 0
|
4月前
|
Java Shell Linux
Linux【脚本 01】简单Shell脚本实现定时备份文件、压缩、删除超时文件操作(showDoc文件备份脚本举例)
Linux【脚本 01】简单Shell脚本实现定时备份文件、压缩、删除超时文件操作(showDoc文件备份脚本举例)
100 0
|
18天前
|
Linux 测试技术 C语言
【Linux】应用编程之C语言文件操作
【Linux】应用编程之C语言文件操作
|
24天前
|
存储 监控 Linux
Linux 使用getrusage系统调用获取cpu信息:一个C++实例分析
Linux 使用getrusage系统调用获取cpu信息:一个C++实例分析
48 0
|
1月前
|
存储 缓存 Linux
Linux 系统调用深思:从原理到实战
Linux 系统调用深思:从原理到实战
39 1