Linux下 C语言文件IO操作(系统IO)

Linux系统下使用C语言进行文件系统IO操作

1打开文件

函数:int open(const char *,int flags); //打开一个已经存在的文件
int open(const char *,int flags,mode_t mode); //打开一个不存在的文件

头文件:
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
参数:
1:将要打开的文件的路径及其文件名
2:文件的打开方式:
打开常用方式:O_RDONLY 只读方式打开
O_WRONLY 只写方式打开
O_RDWR 读写
O_CREAT 若文件不存在则创建
O_TRUNC 清空文件内容
O_APPEND 追加文件内容
通常使用(O_WRONLY | O_CREAT | O_TRUNC)
3:若要创建文件则要给予此文件一个访问权限,例如 0644 读写权限;0777 读写可执行权限
返回值:打开成功则返回文件描述符(也就是一个数组下标)


2读取文件

函数:ssize_t read(int fd,void *buf,size_t count);

头文件:
#include<unistd.h>
参数1:待读取的文件的文件描述符
参数2:读取数据存储的buf
参数3:读取的字节数
返回值:成功:返回读取的字节数;失败:返回-1


3写入文件

函数:ssize_t write(int fd,const void *buf,size_t count);

头文件:
#include <unistd.h>
参数1:待写入的文件的文件描述符
参数2:待写入的数据存储的buf
参数3:待写入的字节数
返回值:成功:返回写入的字节数,失败:返回-1


### 4关闭文件 #### 函数:int close(int fd); 参数1:所需要关闭的文件的文件描述符
###### 例如:创建一个文件并将将一段文字写入文件。
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main(int argc,char *argv[])
{
    int file;
    file = open("1.txt",O_RDWR | O_CREAT | O_TRUNC, 0644);
    char M[20] = {"薛定鄂的海豚"};
    int n = write(file,M,18);
    printf("写入的字节数为:%d\n",n);
    close(file);

    return 0;
}

运行:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值