- 论坛徽章:
- 0
|
回复 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 ) /* 预留100个字节可能增加文件长度 */
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);
} |
|