c语言在文件中读取字符串,将新的字符串写进另一个文件中

在main函数中创建一个文件,将键盘输入的字符串写入文件中。打开该文件,读出字符串,将字符串中除了下标为偶数且ASCII码值为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的新串存放到另一个文件中。

img

img

代码如下:

#include <stdio.h>
int main()
{
    int i,j;
    char buf[100],buf2[100];
    FILE* fp1,*fp2;
    printf("请输入字符串:");
    gets(buf);
    fp1 = fopen("a.txt","w");//写入a.txt
    fprintf(fp1,"%s",buf);
    fclose(fp1);
    printf("成功写入a.txt\n");
    //打开文件读文件
    fp1 = fopen("a.txt","r");
    if(fp1==0)
    {
        printf("a.txt打开失败\n");
        return 0;
    }
    fgets(buf2,100,fp1); //读取一行
    printf("读取成功,读取的字符串为:%s\n",buf2);
    //只保留下标为偶数且ASCII码值为奇数的字符
    i=0;
    j=0;
    while(buf2[i]!='\0')
    {
        if(i%2==0 && buf2[i]%2==1)
            buf2[j++] = buf2[i];
        i++;
    }
    buf2[j]='\0';
    printf("处理后的字符串:%s\n",buf2);
    //写入文件
    fp2 = fopen("b.txt","w");
    fprintf(fp2,"%s",buf2);
    fclose(fp2);
    printf("成功写入b.txt\n");
    return 0;
}

哪个地方有困难呢

回答:C语言文件的读写哈,这边借用菜鸟教程里面的例子直接讲解
https://www.runoob.com/cprogramming/c-file-io.html

#include <stdio.h>
#include <string.h>
 
int main()
{
    char input[40]; 
    FILE *fp = NULL;
    fp = fopen("test.txt", "w+");
    scanf("%s", input);
    fprintf(fp, input);
    fclose(fp);
    
    char buff[40];
    fp = fopen("test.txt", "r");
    fscanf(fp, "%s", buff);
    fclose(fp);
    
    int i;
    char edit_result[40];
    int index = 0;
    for(i=0;i<strlen(buff);i++){
        if(i%2 == 0 && buff[i]%2 == 1){
            edit_result[index] = buff[i];
            index++;
        }
    }
    
    fp = fopen("edit_result.txt", "w+");
    fprintf(fp, edit_result);
    fclose(fp);
}

img