- 論壇徽章:
- 0
|
回復(fù) 3# 狼族狼心
用c的話稍微難一點,我隨便寫寫,你自己去參照修改一下
#include <stdio.h>
#include <sys/stat.h>
#include <string.h>
#include <stdlib.h>
#define MAX_LEN 256
int main( int argc, char **argv )
{
FILE *modifile;
int flen;
struct stat s;
char line[MAX_LEN], *buf, *tmp;
if( lstat( argv[1], &s ) < 0 )
return;
flen = s.st_size; /* 文件長度 */
buf = (char *)malloc( flen+100 ) /* 預(yù)留100個字節(jié)可能增加文件長度 */
if( !buf )
return;
memset( buf, 0, flen+100 );
tmp = buf; /* 文件小的時候可以不用tmp, 直接strcat拼接字符串 */
modifile = fopen( argv[1], "r" )
if( !modifile )
return;
while( !feof(modifile) )
{
if( !fgets( line, MAX_LEN, modifile ) )
continue;
if( !strstr( line, "IP=" )
{
strcpy( tmp, line );
tmp += strlen( line );
}
else
{
sprintf( tmp, "IP=192.168.10.100\n" );
tmp += 18; /* 上面這個字符串的長度 */
}
}
fclose(modifile);
modifile = fopen( argv[1], "w+" );
if( !modifile )
return;
fprintf( modifile, "%s", buf );
free( buf );
fclose(modifile);
} |
|