从二进制文件读取C编程
我需要读取包含3d点坐标的二进制文件,但首先有5行在正常模式下写入文件,所以首先我需要跳过该部分并读取点。我尝试了从二进制文件读取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个字节,并查找新行。如果它们在那里,就在第五次出现之后开始读取二进制数据。如果未找到五个'
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'