空哥sky 2023-10-22 12:26 采纳率: 47.1%
浏览 10
已结题

为什么C语言读入一个文本文件并把其内容输出到一个新的文本文件当中,为什么我的古诗2运行后是乱码啊

为什么C语言读入一个文本文件并把其内容输出到一个新的文本文件当中,为什么我的古诗2运行后是乱码啊

img

img

代码是
#include <stdio.h>
#include <stdlib.h>
int main()
{

char name[50]="C:\\C语言\\test_10_22\\古诗.txt";//name存放我们要读入的文本文件名
FILE * fp=fopen(name,"r");
if(fp==NULL)
{
    printf("文件打开失败,程序退出\n");
    exit(-1);
}
FILE * fp2=fopen("C:\\C语言\\test_10_22\\古诗2.txt","w");
if(fp2==NULL)
{
    printf("文件打开失败,程序退出\n");
    exit(-1);
}
char ch;
while(ch=fgetc(fp)!=EOF)
    fputc(ch,fp2);
fclose(fp);
fclose(fp2);
return 0;

}

  • 写回答

2条回答 默认 最新

  • 柯本 2023-10-22 12:45
    关注

    注意运算符的优先级

    
    while(ch=fgetc(fp)!=EOF)
    
    

    这个有问题!=的优先级比=高,要改为

    while((ch=fgetc(fp))!=EOF)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月31日
  • 已采纳回答 10月23日
  • 创建了问题 10月22日