如何用c语言判断一个未知文件的文件类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用c语言判断一个未知文件的文件类型相关的知识,希望对你有一定的参考价值。
当一个文件的后缀被删除或者被更改后如何判断他原来的文件类型?……我想把文件按十六进制打开然后从特征代码中找,但是不知道怎么实现
打开文件容易,读几个字符容易,判断类型较难。下面程序判断 .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;
参考技术A 上网搜把,不同文件都有自己的结构体追问
就是搜不到才来问的
如何用php把一个未知结构的数组写入到一个文本文件,
如何用php把一个未知结构的数组写入到一个文本文件,然后从文本文件再恢复出来!
参考技术A // 文件名称$cache_file = dirname(__FILE__).'/data.txt';
$data = array(5=>5,9=>8);
// 创建数据文件写入信息
$cache_handle = fopen($cache_file,'w+');
$result = fwrite($cache_handle,serialize($data));
fclose($cache_handle);
// 读取数据文件内容输入
$cache = file_get_contents($cache_file);
print_r(unserialize($cache));本回答被提问者采纳
以上是关于如何用c语言判断一个未知文件的文件类型的主要内容,如果未能解决你的问题,请参考以下文章