概述
1、修改配置文件的思路
(1)先找到要修改哪个配置文件
(2)打开要修改的配置文件
(3)将配置文件中所有的内容都读取到缓存区(buf)中
(4)利用strstr()函数,找到具体要修改的字符串,然后修改字符串对应的数据
(5)将修改后的数据,再写到配置文件中
strstr()函数详解
#include <string.h>
char *strstr(const char *haystack, const char *needle);
const char *haystack: 被查的目标 (str1)
const char *needle: 被查的对象 (str2)
返回值:若str2是str1的子串,则返回str2在str1的首次出现的地址;如果str2不是str1的子串,则返回NULL。
本地的配置文件:test.config
2、代码实现
#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 fdconfig;
char *readBuf=NULL; //设置一个缓冲区,把读上来的数据保存在缓冲区buf中
if(argc != 2){
printf("param errorn");
exit(-1);
}
fdconfig = open(argv[1],O_RDWR); //打开配置文件
int size = lseek(fdconfig,0,SEEK_END); //计算配置文件的大小
readBuf = (char *)malloc(sizeof(char)* size); //给缓存区分配内存
lseek(fdconfig,0,SEEK_SET); //光标移到文件开头
int n_read = read(fdconfig,readBuf,size); //把配置文件读取到缓存区中
char *p = strstr(readBuf,"Name ="); //找到要修改位置的首地址
p = p + strlen("Name ="); //从修改位置的首地址往后移,移到具体的位置
if(p == NULL)
{
printf("not founfn");
}
*p = 'h'; //修改具体位置的数据
lseek(fdconfig,0,SEEK_SET); //光标移到文件开头
int n_write = write(fdconfig,readBuf,strlen(readBuf)); //将修改后的数据写回到配置文件中
close(fdconfig); //关闭配置文件
return 0;
}
执行结果如下:
最后
以上就是魔幻季节为你收集整理的Linux文件编程修改程序的配置文件1、修改配置文件的思路2、代码实现的全部内容,希望文章能够帮你解决Linux文件编程修改程序的配置文件1、修改配置文件的思路2、代码实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复