未知类型的文件,怎样判别文件格式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未知类型的文件,怎样判别文件格式相关的知识,希望对你有一定的参考价值。
请问这个文件的格式是什么?图中是文件开头的十六进制代码。
码农来也。自己编了一个程序,用起来挺顺手,不错不错,要的话评论区留下邮箱。
兼容Windows XP、Windows7、Windows10,支持32位和64位操作系统。
另外文件的扩展名,并不能代表文件真正的格式。追问
问题是我不知道用什么读写这个文件。
追答文件的格式是程序员自己定义!!!
你这个问题没有什么意义,你要是懂软件编程,就知道我为什么这么讲。
这不是程序员自定义的文件格式,看不出来算了。
参考技术B 打开文件容易,读几个字符容易,判断类型较难。下面程序判断 .exe .jpg .gif 格式
读入的前20个字节在 char s[20] 中。
你愿意把它看成10进制,16进制都可以。
输入形式:
可执行程序名 要判断的文件名
例如:
ccalb.exe file.gif
#include <stdio.h>
#include<stdlib.h>
main(int argc, char *argv[])
FILE *fin;
char namein[80];
char s[20];
if (argc<2)
printf("Usage: \007 %s filename\n",argv[0]);
return 0;
strcpy(namein,argv[1]);
fin = fopen(namein,"rb");
if (!fin)
printf("Open %s error\n",namein);
return 0;
fread(s,20,1,fin);
fclose(fin);
if (s[0]=='M' && s[1]=='Z') printf("It is .exe file\n");
else if (s[6]=='J' && s[7]=='F' && s[8]=='I' && s[9]=='F')printf("It is .jpg file\n");
else if (s[0]=='G' && s[1]=='I' && s[2]=='F' ) printf("It is .gif file\n");
else printf("other file");
return 0;
追问
我问的是图片中的文件的格式是什么,不是问判断文件格式的方法。
以上是关于未知类型的文件,怎样判别文件格式的主要内容,如果未能解决你的问题,请参考以下文章
如何删除取消win7系统文件的“始终使用选择的程序打开这种文件”,让原类别文件恢复默认的未知格式?