linux 修改配置文件
一、先在配置文件中写入内容
strstr:判断子字符串是否是父字符串的子串
如何修改配置文件:
(1)找到字符串的开头位置。
(2)从开头位置往后移,移到末尾位置。
(3)修改末尾位置的内容。
把LENG=3改成LENG=5
#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("pararm error\n");
exit(-1);
}
fdSrc=open(argv[1],O_RDWR);
//打开要修改的配置文件,以参数的方式传进配置文件
int size=lseek(fdSrc,0,SEEK_END);
//设置文件大小把光标从头移到文件的末端
lseek(fdSrc,0,SEEK_SET);
//计算文件大小的目的要得到缓存readbuf,要把光标移到文件的头
readbuf=(char *)malloc(sizeof(char)*size+8);
int n_read=read(fdSrc,readbuf,size);//把内容读到readbuf中,
//size为读取文件的大小
char *p=strstr(readbuf,"LENG=");
//传递要修改的位置
if(p==NULL)
{
printf("not found\n");
exit(-1);
}
p=p+strlen("LENG=");//计算字符串的长度,
//并把字符移到等于号的后面
*p='5';//写到文件里的都是字符,*p为取内容
//传递要修改的内容
lseek(fdSrc,0,SEEK_SET);
int n_write =write(fdSrc,readbuf,strlen(readbuf));
//strlen为要读取内容为字符串的形式的内容。
//写入内容的时候,要重新的把光标移到文件的头
close(fdSrc);
//最终要关闭文件
return 0;
}
修改后文件的内容
——@上官可编程
版权声明:本文为weixin_42900834原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。