第二问出错,求大神帮帮忙!

代码如下:

#include
#include
#include
int main(){
    FILE *in,*out;
    int i,count[26]={0};
    char ch,str[20],replace[20],place[20];
    //************************************************(第一问)
    if((in=fopen("file1.txt","r"))==NULL)
    {
        printf("can not open the file !\n");
        exit(0);
    }
    while(!feof(in)){
        ch=fgetc(in);
        if(ch>='a'&&ch<='z')
            count[ch-'a']++;
        else if(ch>='A'&&ch<='Z')
            count[ch-'A']++;
    }
    for(i=0;i<26;i++)
        printf("%c:%d\n",'a'+i,count[i]);    
        
    //********************************************************(第二问)

        in=fopen("file1.txt","r");
    printf("输入要替换的字符串:\n");
    gets(place);
    printf("输入用以替换的字符串:\n");
    gets(replace);
    if((out=fopen("file2.txt","w"))==NULL)
    {
        printf("can not open the file !\n");
        exit(0);
    }
    i=0;
    while(!feof(in)){
        while((ch=fgetc(in))!=' ')
            str[i++]=ch;
        str[i]='\0';
        if(strcmp(str,place)==0)
            fputs(replace,out);
        else
            fputs(str,out);
        if(ch==' ')
            fputc(ch,out);
    }    

    fclose(in);
    fclose(out);
    
    return 0;

}


你可能感兴趣的:(第二问出错,求大神帮帮忙!)