?? replace.c
字號:
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
void main(int argc,char *argv[])
{
FILE * p=0;
int line=0,count=0;
char * buf[1024];
char * charbuf=0,*fp;
memset(buf,0x00,sizeof(buf));
p=fopen(argv[3],"r+");
buf[0]='1';
//查看文件行數(shù),準(zhǔn)備給其分配內(nèi)存
while(*buf!='\0')
{
memset(buf,0x00,sizeof(buf));
fgets(buf,1024,p);
line++;
}
{
char *charbuf=(char*)malloc(line*1024); //分配相應(yīng)內(nèi)存
assert(charbuf);
fp=charbuf;
fseek(p,SEEK_SET,0);
buf[0]='1';
count=0;
while(*buf!='\0') //將指定文件讀入內(nèi)存
{
memset(buf,0x00,sizeof(1024));
fgets(buf,1024,p);
strncpy(fp,buf,strlen(buf));
fp=fp+strlen(buf);
}
fclose(p);
p=0;
p=fopen(argv[3],"w+");
for(count=0;count<line*1024;count++)
{
// if(*(charbuf+count*1024)=='\0')break;
// fwrite(charbuf+count*1024,1024,1,p);
if( *(charbuf+count)=='\0') break;
if(strncmp(charbuf+count,argv[1],strlen(argv[1]))==0)
{fwrite(argv[2],strlen(argv[2]),1,p);count=count+strlen(argv[1])-1;}
else
fwrite(charbuf+count,1,1,p);
}
}
close(p);
p=0;
free(charbuf);
charbuf=0;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -