Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从二进制文件读取C编程_C_Binaryfiles_Fread - Fatal编程技术网

从二进制文件读取C编程

从二进制文件读取C编程,c,binaryfiles,fread,C,Binaryfiles,Fread,我需要读取包含3d点坐标的二进制文件,但首先有5行在正常模式下写入文件,所以首先我需要跳过该部分并读取点。我尝试了fread,但失败了。我做错了什么 VERSION 1 DOTS x y z DOTCOUNT 10 DATA binary 33ËB3³ÊB33ÊBfæÊBffÊBfæÉBš™ÊBšÊBš™ÉBÍLÊBÍÌÉBÍLÉB 实际上,您正在查找前五个'\n'字符之后的数据 您可以读取文件的前256个字节,并查找新行。如果它们在那里,就在第五次出现之后开始读取二进制数据。如果未找到五个'

我需要读取包含3d点坐标的二进制文件,但首先有5行在正常模式下写入文件,所以首先我需要跳过该部分并读取点。我尝试了
fread
,但失败了。我做错了什么

VERSION 1
DOTS x y z
DOTCOUNT 10
DATA binary
33ËB3³ÊB33ÊBfæÊBffÊBfæÉBš™ÊBšÊBš™ÉBÍLÊBÍÌÉBÍLÉB

实际上,您正在查找前五个'\n'字符之后的数据

您可以读取文件的前256个字节,并查找新行。如果它们在那里,就在第五次出现之后开始读取二进制数据。如果未找到五个'\n'字符,请继续读取下一个256字节的块,并查找剩余的'\n'字符数。二进制数据应在消耗前五行后读取


这就是所有内容

搜索文件中的第四个'\n'字符(以二进制模式打开)。
我做错了什么
我们如何知道?请包括。首先,您应该向我们展示您用于完成该任务的代码。“我尝试了fread”:您的代码在哪里?请阅读:当
文件*
被allready缓冲时,无需执行读取缓冲。只需使用
fgetc()
查找
'/n'