📄 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';
//查看文件行数,准备给其分配内存
while(*buf!='\0')
{
memset(buf,0x00,sizeof(buf));
fgets(buf,1024,p);
line++;
}
{
char *charbuf=(char*)malloc(line*1024); //分配相应内存
assert(charbuf);
fp=charbuf;
fseek(p,SEEK_SET,0);
buf[0]='1';
count=0;
while(*buf!='\0') //将指定文件读入内存
{
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;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -