以编程方式告诉c++中的文件类型
programmatically telling types of files in c++
有什么方法可以程序化地查看文件并告诉它是什么类型的文件,例如mp3, txt, binary, photoshop等?我不认为STL中会有任何东西(除了试图打开一个文本文件并读取它)。
如何判断你真正在处理什么类型的文件?我的意思是我可以在一个不是mp3文件的文件上放一个。mp3扩展名。
每种文件类型都有某种"签名",这是一种查看文件并识别其结构的方法。在许多情况下,文件以特定的字节序列开始。例如,PDF文件以标题开始,看起来像这样:
# xxd temp.pdf | head -n 1
0000000: 2550 4446 2d31 2e33 0a25 c4e5 f2e5 eba7 %PDF-1.3.%......
如果您想要确定的话,除了从文件的头文件中读取幻数之外,没有别的办法了。这些是开头的字节。例如,PNG文件以PNG
开头。
http://en.wikipedia.org/wiki/Magic_number_(编程)
相关文章:
- 通过C++从目录中过滤特定文件类型
- Ini 文件类型名称 预期C++
- 用于随机数据访问的最有效文件类型
- Visual Studio 2019 - 设置文件类型的默认扩展名
- 如何使用C++将.trc文件类型转换为文本文件?
- 如何指定可以打开的文件类型
- 更改代码::块上的默认保存文件类型
- 使用文件对话框选择包含特定文件类型的文件夹?
- MFC,查找特定文件类型
- 搜索并限制为特定文件类型VS2017
- 是否可以将Visual Studio 2017将C 代码编译到EXE以外的文件类型中
- VIM:执行复杂文件类型的脚本和显示结果
- 功能"fread()"不读取特定文件类型?
- 如何在用户修改后使用旧版驱动程序中的 PE 标头获取原始文件类型
- 在makefile中更改构建规则以构建多种文件类型
- 使QT/C 程序显示其文件类型,如Windows上已知
- 是否可以将其他文件类型添加到Visual Studios清理过程中
- 强制将特定文件编译为Objective-C/文件类型,但将整个项目编译为Objective C++
- 如何从FindFirstFile()中获取多个文件类型是可能的吗
- 跨平台方式获取用户友好的文件类型描述