Linux文件编程

一。操作系统提供一系列的API,open(),write(),lseek(),close();

open(文件的路径,打开的方式)。

打开的方式:O_RDONLY,O_WRONLY,O_RDWR.这三个必须选一个,除此之外还有另外的几个。

O_CREAT:表示若文件不存在则创建文件,

O_EXCL:如果调试指定O_CREAT,文件已经存在,就会报错。

O_TRUNC:如果文件已经存在内容,再次写入内容的时候就会截断原先的内容位0.

write(文件描述符,原数据源,写入的字节);

read(文件描述符,数据的存储地,读多少个字节);

close(文件描述符);

二。创建文件的函数(creat)

int creat(文件的路径,创建的方式);

创建的方式:

宏表示 数字

S_IRUSR(可读), 4

S_IWUSR(可写), 2

S_IXUSR(可执行), 1

S_IRWXU(可读可写)。 7

文件的光标的移动和巧妙的计算字符串占的字节。fu

SEEK_SET:在字符串的开头

SEEK_GUN:在字符串的当前位置

SEEK_END:在字符串的末尾

三。cp复制的编程实现。

步骤:打开文件src------将数据写入buf里面-------创建并打开des-------将buf里面的数据写入到des里面--------关闭文件

cs 复制代码
#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include<stdlib.h>
#include<string.h>
int main(int argc ,char** argv)
{
  int fdsrc;
  char bufdata[1024]={0};
  fdsrc=open(argv[1],O_RDWR|O_CREAT,0600);
  int n_read=read(fdsrc,bufdata,1024);
  int fddest=open(argv[2],O_RDWR,O_CREAT,0600);
  int n_write=write(fddest,bufdata,strlen(bufdata));
  close(fdsrc);
  close(fddest);
  return  0;
}
相关推荐
Lsir10110_6 小时前
【Linux】进程信号(上半)
linux·运维·服务器
开开心心就好7 小时前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节
火车叼位7 小时前
脚本伪装:让 Python 与 Node.js 像原生 Shell 命令一样运行
运维·javascript·python
css趣多多7 小时前
add组件增删改的表单处理
java·服务器·前端
予枫的编程笔记7 小时前
【Linux进阶篇】从基础到实战:grep高亮、sed流编辑、awk分析,全场景覆盖
linux·sed·grep·awk·shell编程·文本处理三剑客·管道命令
Sheep Shaun7 小时前
揭开Linux的隐藏约定:你的第一个文件描述符为什么是3?
linux·服务器·ubuntu·文件系统·缓冲区
Tfly__7 小时前
在PX4 gazebo仿真中加入Mid360(最新)
linux·人工智能·自动驾驶·ros·无人机·px4·mid360
野犬寒鸦7 小时前
从零起步学习并发编程 || 第七章:ThreadLocal深层解析及常见问题解决方案
java·服务器·开发语言·jvm·后端·学习
陈桴浮海7 小时前
【Linux&Ansible】学习笔记合集二
linux·学习·ansible
迎仔8 小时前
06-存储设备运维进阶:算力中心的存储管家
运维