修改channel=這個欄位 , 可以設定為 channel=1000或channel=1
因為整體的文件大小會改變 , 所以我採用tmp file方式 , 不用記憶體的方式
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
char DataBuffer[512] , buffer1[512];
FILE *fp ,*fp1;
char *search_key="channel";
char *file = "test.conf";
char *file_tmp = "test.conf.tmp";
if(argc < 2){
printf("[error] commad fail\n");
return -1;
}
fp = fopen(file, "r+");
if(fp == NULL)
{
printf("open error");
return -1;
}
fp1 = fopen(file_tmp ,"wb");
if(fp1 == NULL)
{
printf("open error");
return -1;
}
while(fgets(DataBuffer, 512, fp))
{
sscanf(DataBuffer, "%[^=]=",buffer1);
if(!strcmp(search_key , buffer1))
{
sprintf(DataBuffer , "%s=%d\n",search_key, atoi(argv[1]));
}
fwrite(DataBuffer , 1 , strlen(DataBuffer) , fp1);
}
fclose(fp);
fclose(fp1);
system("cp -f test.conf.tmp test.conf");
return 0;
}
source code 下載
https://drive.google.com/file/d/0B8hm-I2M8BD7cEN4VnhNMDhWaGM/edit?usp=sharing
沒有留言:
張貼留言