【发布时间】:2009-10-18 14:26:30
【问题描述】:
我对我遇到的这个小问题感到非常困惑。我有一个非索引文件格式标题。 (更具体地说是 ID3 标头)现在,此标头存储一个字符串,或者更确切地说是三个字节,以确认数据实际上是一个 ID3 标记(TAG 是字符串顺便说一句。)重点是,现在文件中的这个 TAG格式不是以空值结尾的。所以有两件事可以做:
- 使用
fread加载整个文件,对于非终止字符串比较,使用strncmp。但:- 这听起来很老套
- 如果有人打开它并试图在没有事先了解的情况下操纵字符串怎么办?
- 另一个选项是加载文件,但 C 结构不应完全映射到文件格式,而是包含适当的空终止符,然后应使用唯一调用加载每个成员。但是,这也感觉很hacky并且很乏味。
非常感谢您的帮助,尤其是有处理此类问题的实际经验的人提供的帮助。
【问题讨论】:
标签: c string data-structures file-format null-terminated