Linux文件系统编程之修改配置文件

Linux文件系统编程之修改配置文件

假如我们有如下一份简单的配置文件,现在我们通过文件编程来修改对应的内容,代码中关于main函数参数问题参考以下博文

关于main函数的参数

SPEED=3
LENG=9
SCORE=9
LEVEL=5

程序大致思路:

1.我们首先打开需要修改的配置文件
2.找到需要修改的内容(本文修改的内容为LENG的数据)
3.对内容进行修改
4.将修改后的内容写入到配置文件
5.关闭文件

完整代码

#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include<string.h>
#include<stdlib.h>
//以上为必备的头文件

int main(int argc,char **argv)
{
        int fd;
        int size;
        char *readBuf = NULL;
        char *p = NULL;
        char *str = "LENG=";
        char data = '5';
		//当运行程序时不是两个参数,程序退出
        if(argc != 2){
                printf("参数错误\n");
                exit(-1);
        }
		//打开配置文件(可执行文件为第一个参数,配置文件第二个参数)
        fd = open(argv[1],O_RDWR);
		//计算文件的大小
        size = lseek(fd,0,SEEK_END);
		//将光标重新移到开头位置
        lseek(fd,0,SEEK_SET);
		//为读取缓存开辟空间
        readBuf = (char *)malloc(sizeof(char)*size + 8);
		//读取文件内容
        read(fd,readBuf,size);
		//查找要修改的字符串(strstr函数返回值为指向字符串开头的指针)
        p = strstr(readBuf,str);
        if(p == NULL){
                printf("没有找到该字符串\n");
                exit(-1);
        }
        //指针偏移到要修改的位置前方
        p = p + strlen(str);
        //修改其中的内容
        *p = data;
		//光标移回文件初始位置
        lseek(fd,0,SEEK_SET);
        //将修改后的文件重新写入配置文件
        write(fd,readBuf,strlen(readBuf));
     	//关闭文件
        close(fd);

        return 0;
}

总结

本文只是对Linux文件系统编程的小练习,如有错误之处,欢迎批评指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值