#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <wait.h>
int main()
{
pid_t pid;
int fdsrc;//source file`s src
int a =10;
while(1){
printf("please enter a data:\n");
scanf("%d",&a);
if(a == 1){
pid = fork();
if(pid >0){
wait(NULL);
}
if(pid == 0){
char *readBuf=NULL;
fdsrc = open("./config.txt",O_RDWR);
int size = lseek(fdsrc,0,SEEK_END);
lseek(fdsrc,0,SEEK_SET);
readBuf = (char *)malloc(sizeof(char)*size + 8);
int n_read=read(fdsrc,readBuf,size);
char *p =strstr(readBuf,"LENG=");
if(p == NULL){
printf("not found!\n");
exit(-1);
}
p =p+ strlen("LENG=");//找到修改的位置
*p = '5';//修改当前位置的值
lseek(fdsrc,0,SEEK_SET);
int n_write = write(fdsrc,readBuf,strlen(readBuf));
close(fdsrc);
exit(0);
}
}
else{
printf("do nonthng\n");
}
}
return 0;
}