读取文件以外的文件内容".txt"
Reading the content of file other than ".txt" file
如何读取不是 C/C++ 简单文本文件的文件内容?例如,我想读取.jpg/.png/.bmp等图像文件并查看某个索引处的值,以检查它是什么颜色?或者如果我有一个.exe/.rar/.zip并且想知道不同索引中存储了什么值?我知道c样式的读取文件,它是
FILE *fp;
fp = fopen("example.txt","r"); /* open for reading */
char c;
c = getc(fp) ;
我想知道如果我将"example.txt"替换为"image.png"左右,它会起作用吗? 我会得到正确的数据吗?
打开非文本文件时,需要指定二进制(未翻译)模式:
FILE *fp = fopen("example.png", "rb");
在典型情况下,通过定义镜像文件中结构的结构,然后使用fread
从文件读取到结构中,从二进制文件中读取大部分内容(但这必须小心完成,以确保结构中的填充等内容在内存中的表示形式和磁盘上的表示形式之间没有区别)。
您需要以二进制模式打开文件。这允许您在"原始"模式下读取字节,其中它们与文件中的内容相同。
但是,确定特定像素等的颜色需要您完全了解文件中字节的含义以及它们如何排列以用于读取的文件。这第二个要求要困难得多。为此,您需要对该文件类型的格式进行一些研究。
是的,Ofcorse 您可以在 C 中打开binary mode
中的任何文件。 如果您有兴趣,那么您也可以读取任何此类非文本文件的第一个字节。
在大多数情况下,所有不同的文件格式都有一些固定的标头,因此您可以在此基础上识别该文件的类型。
打开任何 matroska(.mkv) 文件并读取 1st 4 字节,您将永远拥有这个
0x1A 0x45 0xDF 0xA3
您还可以在 Linux 中查看二进制表示hexdump
实用程序中的任何文件
编辑:
such as .jpg/.png/.bmp and see the value at certain index,to
check what colour it is?
在这里,您需要了解该文件的格式,并在此基础上知道哪个地方的数据表明了什么信息..!!
相关文章:
- 如何将 txt 文件中的行分隔为组件C++
- 在CMakeLists.txt的安装功能中使用.cmake文件有什么用
- 一种在C++中读取TXT配置文件的简单方法
- 无法打开.txt文件
- 如何使用CLion在Mac上创建一个新的.txt文件
- 我可以读取静态对象中的文件.txt吗?C++
- C++-需要读取存储在文件(.txt)中的时间戳并正确检索
- 具有文件.txt的 C++ 中的设置
- 如何在 CMakeList 中包含 h/hpp 头文件.txt而不是 cpp 或其他 hpp 文件
- 使用函数读取文件.txt中的矩阵
- 任何人都知道如何解决尝试将从MySQL数据库返回的行打印到文本文件(.txt)中的C++
- 读取文件.txt C
- 为什么我的方法不从文件.txt中读取float类型
- 如何读取名称(仅文件.txt)作为参数传递的文件(在任何目录中)?C++
- 读取文件".txt"并将每行的数据分配给循环列表中的新节点C++
- 如何用C++将字符串文件Txt解析成数组
- 如何在c++中读取和编辑文件txt
- 从文件.txt读取字符串数组并使用它来玩康威的生命游戏
- 导入文件txt时出错
- 如何仅读取文件.txt中的数字