题
我想知道是否有一种方法可以将文件的十六进制转储或原始数据输出到txt文件。 例如 我有一个文件,例如“ data.jpg”(文件类型无关),如何将HEXdump(14ed 5602等)导出到文件“ output.txt”? 还如何指定输出格式,例如Unicode或UTF? 在C ++中
解决方案
这已经很老了-如果要使用Unicode,则必须自己添加。 通用标签
其他提示
您可以使用循环,fread和fprintf:读取后,您将获得字节的字节值,然后使用fprintf,您可以使用%x
将十六进制打印到文件中。
http://www.cplusplus.com/reference/clibrary/cstdio/fread/
http://www.cplusplus.com/reference/clibrary/cstdio/fprintf/
如果希望此速度快,则加载整个机器字(int或long long)而不是单个字节,如果希望更快,则读取整个数组,然后sprintf整个数组,然后fprintf数组到文件。
也许是这样吗? 通用标签
您只需要用buffer
替换ifstream
即可读取二进制文件,然后使用ofstream
而不是cout
将输出写入文本文件。
不隶属于 StackOverflow