常用的Linux命令,linux下文件的读、写、打开、关闭append用法

vim demoq.c打开写的.c文件

内容为

按a可以编辑页面代码。按ESC退出编辑然后按shift+:wq保存文件并退出

Linux 系统中采用三位十进制数表示权限,如0755, 0644.7 1+2+4(可读、可写、可执行)

5 1+4(可读、不可写、可执行)

5 1+4(可读、不可写、可执行)ABCD

A- 0, 表示十进制

B-用户

C-组用户

D-其他用户

代码

Delphi 复制代码
 <sys/stat.h>
#include <fcntl.h>
#include<stdio.h>
#include<unistd.h>
#include<string.h>

//off_t lseek(int fd, off_t offset, int whence);l_seek函数
//int open(const char *pathname, int flags);open函数
//int open(const char *pathname, int flags, mode_t mode);open函数,末尾的mote可以为0755rdx
//ssize_t write(int fd, const void *buf, size_t count);write函数
//ssize_t read(int fd, void *buf, size_t count);read函数
#define filename "mm"//将"mm"定义为filename
#define writeNum 128//将128定义为writeNum
#define readNum 12//将12定义为readNum
int main()
{
        int offset;//定义offset整型
        int fd;//定义fd整型
        char writeBuff[writeNum] = {0};//创建空的字符串writeBuff
        char readBuff[readNum] = {0};//创建空的字符串readBuff
        char *test = "hello world";//在指针字符串test里面存储字符串hello world
        if(writeNum<(strlen(test)+1))//if函数为了判断写的空间是否小于字符串的长度加1,1为字符串末尾的标识符,占一个字符长度,如果写的空间小于,则报错,不能写
        {

                printf("error:writeBuff less than test\n");
                return -1;
        }
        strcpy(writeBuff,test);//将指针变量test里面的字符串复制给writeBuff
//int open(const char *pathname, int flags);open函数
        fd = open("mm",O_APPEND|O_RDWR|O_CREAT,0755);//open函数,第一个为文件命名,第二个为文件格式:O_APPEND添加,O_RDWR可读可写,O_CREAT创建文件,第三个为追加模式0755,用户,组用户和其他用户可读可写可执行的权限
        if(fd == -1)//如果fd == -1则表明打开文件失败,返回-1
        {
                printf("open failed!");
                perror("why");
                return -1;
        }
        printf("open successed!");//否则,打开文件成功
//off_t lseek(int fd, off_t offset, int whence);lseek函数,偏移量off_set
//      offset = lseek(fd,1,SEEK_CUR);//,表示从fd文件当前光标位置偏移一个字节
        printf("offset is %d\n",offset);
//ssize_t write(int fd, const void *buf, size_t count);write函数
        write(fd,&writeBuff[0],11);//写的对象文件fd,写的首地址&writeBuff[0],写入字节的大小
//      read(fd,&readBuff,1);//读的对象为文件fd,读的首地址&readBuff,读入字节的大小
//      printf("%s \n",readBuff);//输出读的存放在readBuff里的字符串
        close(fd);//关闭文件
        return 0;//返回0




}

每编译一次,cat一次,会在末尾append一次 hello world

相关推荐
沸速存储38 分钟前
整机瓶颈判断思路,自上而下定位卡顿根源
运维·服务器·电脑·内容运营
奈斯先生Vector1 小时前
告别工具碎片化:基于 Nano Banana 全模态 AI 聚合架构搭建“文本-图像-视频”自动化协同生产线
运维·数据库·人工智能·架构·自动化·aigc·音视频
乌萨奇也要立志学C++1 小时前
【Linux】网络基础 从零理解网络通信:局域网、跨网传输与 Socket 预备知识
linux·服务器·网络
DLYSB_2 小时前
AIOps 大模型实战:基于 LangChain 运维 Agent 的根因诊断与现场声光播报闭环
运维·langchain·报警灯
luj_17683 小时前
星火科技助力边远地区防病攻坚
c语言·开发语言·c++·经验分享·算法
RisunJan3 小时前
Linux命令-slabtop(实时显示内核 slab 缓存信息)
linux
画面无声3 小时前
STM32的SPI通信原理与练习记录
c语言·stm32·单片机·嵌入式硬件·学习
weixin_456808384 小时前
【沁恒蓝牙开发】IAP升级流程
c语言·单片机·嵌入式硬件
一可米4 小时前
gitHub.com Actions自动化发布
运维·自动化·github
智塑未来5 小时前
证券公司智能运维平台哪个品牌做得好?擎创科技智能运维 2.0 适配券商全场景
运维·科技·区块链