c语言文件中字符串的查找与替换问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 19:36:30
我要写个程序,完成以下功能:
1.打开文件,找到字符串“gao1350”,将gao1350前面80位都替换成0,然后保存
2.这样操作能否做成修改文件,不用做成需要新建一个文件呢?
3.文件体积较大,通常都在500兆以上,可否实现?
4.能写出代码,追加100分!
感谢!
代码超过长度,发不上来,
http://hi.baidu.com/gao1350/blog
代码运行没有异常,只是没有发现字符串,而且生成文件为0字节,请帮忙修改代码!
能改好代码者,帖上留名,追加100分,谢谢。
我的QQ:175537446

你好,你的代码已经改好了,问题不大,都是一些细节。
已经编译运行确认:)

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>

int Count=0;

int findNum(char *str)
{
int i=0,t1=0;
FILE *p;
char ch;
if((p=fopen("image.gl","rb"))==NULL)
{
printf("\n打开文件失败\n");
exit(4);
}
while((ch=fgetc(p))!=EOF)
{
if(ch==str[t1])
t1++;
else
t1=0;
if(t1>=strlen(str))
{
printf("找到字符串%s位置为%d\n",str,i-strlen(str)+1);
Count = i-strlen(str)+1;
i=1;
break;
}
i++;
}
fclose(p);

if(!i) return 0;
return i;
}

int main(void)
{
FILE *in,*out;
char *str1="1234567";
char *str2="abcdef";
int i=0,j=0,t1=0,t2=0;
char ch;
if((t1=findNum(str1))==0)