问题描述
- 下面的代码是C语言中用文件方式打开电脑里的文件。为什么第一个对,而第二个打开后是乱码?
-
下面的代码是C语言中用文件打开电脑里的文。为什么第一个对,而第二个打开后是乱码?
#include
#include
void main()
{
FILE *fp;
char filename[20];
char str[10000];
printf("请输入要打开的文件的位置n");
//scanf("%s",filename);
gets(filename);
if((fp=fopen(filename,"r"))==NULL)
{
printf("cannot open this file!n");
exit(0);
}
while(!feof(fp))
{
fgets(str,10000,fp);
printf("%sn",str);
}
fclose(fp);
}第一个:
第二个:
解决方案
doc文件有它自己的格式。不单单只有里面的文字。所以你打开的时候看到的其实是doc文件的格式字符
解决方案二:
一般情况下,world文档只能用world完美打开, 因为文档的关于格式的东西微软不公开,其他软件打开会存在乱码问题;菜鸟一个,说错了就忽视我
解决方案三:
word文档有自己的格式。就像我们写程序的时候,开始都用纯文本编辑器,不能用word之类的工具,它含有隐含的格式符。
解决方案四:
计算机中的文件归根到底都是01的组合,关键是你要怎么“翻译”。doc的格式是微软规定的,你得先知道“语法”,才能准确“翻译”,我记得libreoffice可以打开doc,而且是免费开源的,你可以参考一下。。。我是菜鸟,说错还请多多指教,互相学习
解决方案五:
word格式是很复杂的,初学者就不要去研究了。等你学到那个程度,自然就知道了。总之你要知道,它有自己的解析方式就行了。
时间: 2024-09-17 04:43:13