李先生_0808 2021-12-02 17:03 采纳率: 100%
浏览 126
已结题

为什么c语言创建的文本文件是乱码?

今天做实验的时候要求输入几个字符存到text1中,然后再从text1中读取,将里面的大写字母转为小写,小写转大写,存到text2中。程序没有报错,但是我在找这两个文件的时候,点开他们里面都是乱码这是怎么回事啊?
以下是代码

#include<stdio.h>
#include<stdlib.h>
void main()
{
    FILE *fp1,*fp2;
    char a,b;
    fp1=fopen("text1.txt","w");
    
    if(fp1==NULL) printf("error1");
    while(a=getchar()!=EOF)
    {
        fputc(a,fp1);
    }
    fclose(fp1);
    if((fp1=fopen("text1.txt","r"))==NULL) printf("error2");
    if((fp2=fopen("text2.txt","w"))==NULL) printf("error3");
    while(!feof(fp1))
    {
        b=fgetc(fp1);
        if(b>='A'&&b<='Z') b+=32;
        else if(b>='a'&&b<='z') b-=32;
        fputc(b,fp2);
    }
    fclose(fp1);
    fclose(fp2);
    
    
}

这是TXT文件的截图

img

  • 写回答

4条回答 默认 最新

  • 关注

    第10行的 while(a=getchar()!=EOF) 改成

    while( (a=getchar()) !=EOF)
    

    把a=getchar()用() 括起来。
    修改后运行结果如下图所示:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月10日
  • 已采纳回答 12月2日
  • 创建了问题 12月2日

悬赏问题

  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿