Linux系统IO函数

Linux系统IO函数1. open函数2. close函数3. read函数4. write函数5. lseek函数6. perror函数和全局变量error参考1. open函数函数原型:int open(const char *pathname,int flags);int open(const char *pathname,int flags,mode_t mode);pathname : 文件的相对或者绝对路径flags:打开方式必选项(三种方式之间是互斥的)O_RDO
摘要由CSDN通过智能技术生成

1. open函数

  • 函数原型:
int open(const char *pathname,int flags);
int open(const char *pathname,int flags,mode_t mode);
  • pathname : 文件的相对或者绝对路径
  • flags:打开方式
    • 必选项(三种方式之间是互斥的)
      • O_RDONLY:只读打开
      • O_WRONLY:只写打开
      • O_RDWR:可读可写打开
    • 可选项
      • O_APPEND:表示追加,加附到文件末尾,不覆盖原数据
      • O_CREAT:若此文件不存在则创建它,需提供第三个参数mode:表示该文件的访问权限
        • 文件权限由open的mode参数和当前进程的umask掩码共同决定: mode&~umask
      • O_EXCL:如果同时指定了O_CREAT,并且文件已经存在,则出错返回
      • O_TRUNC:如果文件已经存在,则将其长度截断(Truncate)为0字节
      • O_NINBLOCK:设置文件为非阻塞状态
  • 常见错误:
    • 打开文件不存在
    • 以写方式打卡只读文件(打开文件没有对应的权限)
    • 以只写方式打开目录

code:

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
int main(){
   
	//打开一个文件test
	int fd = open("test",O_RDWR | O_CREAT,0777);
	if(fd == -1){
   
		perror("open error");
		exit(1);
	}
	close(fd);
	return 0;
}

2. close函数

  • 参数:open函数的返回值
  • 返回值
    • 0 :正常关闭
    • -1:关闭出现错误

3. read函数

  • 从打开的设备或文件中读取数据
  • 函数原型:ssize_t read(int fd, void *buf,size_t
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值