获取用户友好的文件描述的跨平台方式是什么?
示例:
非常感谢图书馆或相应系统API的指针。
首选Qt / C ++解决方案,但一切都很好。
目标平台是Windows和Mac OS X.如果可能的话,我希望这些描述与资源管理器或Finder中的内容相匹配(而不是维护扩展地图 - >我自己的描述。)
答案 0 :(得分:1)
我认为你离Qt最接近的是QFileInfo。
Windows通过注册表跟踪可以通过Qt QSettings访问的映射。但仅仅从brief research来看,模仿资源管理器的映射似乎有点棘手。
您还可以使用QDesktopServices::openUrl()使用默认处理程序启动该文件。
我还没有研究过OSX如何或在哪里跟踪文件类型描述信息。
希望有所帮助。
答案 1 :(得分:1)
GNU File命令内置于Linux和OSX,并且有一个适用于Windows的版本(http://gnuwin32.sourceforge.net/packages/file.htm)。
文件测试每个参数以尝试对其进行分类。有三种 按以下顺序执行的测试集:文件系统测试,幻数 测试和语言测试。成功的第一个测试导致了 要打印的文件类型。打印的类型通常包含一个 单词文本(该文件仅包含打印字符和一些 常见的控制字符,可以安全地读取ASCII 终端),可执行(该文件包含编译的结果 程序的形式可以理解为某些UNIX内核或其他内容),或者 数据意味着什么(数据通常是“二进制”或 非打印)。例外是众所周知的文件格式(核心文件, tar archives)已知包含二进制数据。
您可以使用QProcess调用file命令并显示返回的信息。
输出如下:
$ file document.pdf
document.pdf: PDF document, version 1.5
$ file test.txt
test.txt: ASCII text, with CRLF, CR, LF line terminators