修改指定文件中的数,例如创建一个文件如图
把6修改成7
修改完成
代码如下:
#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=(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 = '7'; lseek(fdSrc,0,SEEK_SET); int n_write = write(fdSrc,readBuf,strlen(readBuf)); close(fdSrc); return 0; }