c语言打开一个成绩单(txt)文件,但是好像不太对

img


c语言运行一个成绩单,但是弄出来是乱码,不能完全显示表格内容,不知道是什么情况,c语言和c加加都用过了

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7660909
  • 这篇博客也不错, 你可以看下c语言怎样才可以读取多行多列不同数据类型的txt文件?
  • 除此之外, 这篇博客: C语言读入txt文件中的中文字符输出乱码中的 输出乱码的情况 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在使用C语言时我们一般用fopen函数打开文件,如下

    #include<stdio.h>
    int main()
    {
    	FILE *fp;
    	char a[10];
    	fp=fopen("temp.txt","r");
    	fscanf(fp,"%s",a);
    	printf("%s\n",a);
    	return 0;
    }
    

    如果输出的都是乱码的话
    打开对应的temp.txt文本文件,左上角选择文件将其另存为,最下面的编码将UTF-8改为ANSI并保存,再输出就可以正常输出文字了(注意不要超出内存空间)。

  • 以下回答由chatgpt基于相关博客总结生成:

    针对问题,可能原因是文件编码问题导致的乱码,需要确定txt文件的编码格式。解决方法可以尝试使用相关的文件编码转换工具将文件格式转换为c语言所支持的格式。

    如果确认编码格式正确,可以尝试使用fgets函数读取txt文件中的数据,并使用相应的函数进行处理。可以根据段落3提供的代码对txt文件进行读取和数据处理。

    如果需要对txt文件进行排序,可以尝试使用插入排序或希尔排序等算法,可以参考段落0和段落1的代码实现对文件中的数据进行排序。具体实现方法可以参考段落4的代码实现。

文件是怎么生成的,是不是本身里面有乱码或者别的二进制数据,或者你写入的时候字符串长度不够没有结束符\0截断,导致出现后面的随机字符