好吧,我正在将dat文件读入一个字节数组。出于某种原因,生成这些文件的人在文件末尾放置了大约半个兆字节的无用空字节。任何人都知道快速修剪这些结尾的方法吗?从C中的字节数组中删除尾随的空值#
首先想到的是从数组的末尾开始向后迭代,直到找到除null之外的其他东西,然后将所有内容复制到该点,但是我想知道是否没有更好的方法。
要回答一些问题: 您确定0字节肯定在文件中,而不是文件读代码中存在错误吗?是的,我确信这一点。
你绝对可以修剪所有尾部0吗?是。
该文件的其余部分是否可以有任何0?是的,可以有0的其他地方,所以,不,我不能从头开始,停在第一个0.
对待它作为文本似乎有风险 - 再加上你只是文件IO三倍。 – 2008-10-27 15:37:46
哦,并且CPU等也增加了很多(编码/解码需要花费时间,即使对于ASCII) – 2008-10-27 15:43:40
编码仅用于测试...编写示例文件。尽管将文件作为文本处理可能是个问题。 – Rob 2008-10-27 15:49:10