1.4文件操作之修改程序配置文件小应用

现状:文件中的宽输入错误,需要进行修改,将15改为5
在这里插入图片描述
思路

1.找到 wide
2.wide= 确认位置
3.修改数值
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
int main(int argc,char **argv)
{
        int fdSrc;//复制文件的描述符
        char *readBuf = NULL;

        if(argc != 2){ //若参数不是两个,就退出程序()
                printf("fail !!!\n");
                exit(-1);
        }
        fdSrc = open(argv[1],O_RDWR);//打开被复制的文件
        int size = lseek(fdSrc,0,SEEK_END);//通过光标的起始位,计算文件的大小
        lseek(fdSrc,0,SEEK_SET);//将光标移至到起始位
        readBuf = (char *)malloc(sizeof(char)*size+8);//开辟读取的空间
        read(fdSrc,readBuf,size);
        
        char *p = strstr(readBuf,"wide=");//查找
        if(p==NULL){//判断是否找到,若未找到,退出程序
                printf("not fount\n");
                exit(-1);
        }
        p = p+strlen("wide=");//指针向后偏移
        *p ='5';//修改

        lseek(fdSrc,0,SEEK_SET);//光标放置起始位
        write(fdSrc,readBuf,strlen(readBuf));
        close(fdSrc);
        return 0;
}
~                                   

修改成功后
在这里插入图片描述

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页