在使用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并保存,再输出就可以正常输出文字了(注意不要超出内存空间)。
针对问题,可能原因是文件编码问题导致的乱码,需要确定txt文件的编码格式。解决方法可以尝试使用相关的文件编码转换工具将文件格式转换为c语言所支持的格式。
如果确认编码格式正确,可以尝试使用fgets函数读取txt文件中的数据,并使用相应的函数进行处理。可以根据段落3提供的代码对txt文件进行读取和数据处理。
如果需要对txt文件进行排序,可以尝试使用插入排序或希尔排序等算法,可以参考段落0和段落1的代码实现对文件中的数据进行排序。具体实现方法可以参考段落4的代码实现。
文件是怎么生成的,是不是本身里面有乱码或者别的二进制数据,或者你写入的时候字符串长度不够没有结束符\0截断,导致出现后面的随机字符