以编程方式告诉c ++中的文件类型

时间:2014-06-24 16:00:56

标签: c++ file file-io binaryfiles

有哪些方法可用于以编程方式查看文件并告诉它是什么类型的文件,例如mp3,txt,binary,photoshop等?我不认为STL中会有任何内容(尝试打开文本文件并将其读入)。

如何尝试告诉您真正处理的文件类型?我的意思是我可以将.mp3扩展名放在一个真正不是mp3文件的文件上。

2 个答案:

答案 0 :(得分:5)

每种文件类型都有某种"签名,"一种查看文件并识别其结构的方法。在许多情况下,文件以特定的字节序列开头。例如,PDF文件以标题开头,如下所示:

# xxd temp.pdf | head -n 1
0000000: 2550 4446 2d31 2e33 0a25 c4e5 f2e5 eba7  %PDF-1.3.%......

答案 1 :(得分:4)

如果你想确定,除了从标题中读取文件的幻数之外没有办法。这些是开头的字节。例如,PNG文件以PNG开头。

http://en.wikipedia.org/wiki/Magic_number_(programming)