我刚刚将一个 Objective-C 库转换为一个 C 库,希望它能够跨平台。但是,在我将这件事送去处理之前,一切似乎都还不错。
正是在这一点上我得到了一个错误。
回顾一些修改,我注意到调试器中有一些东西。
就在这样的 malloc 字符串之后:
char *theString = malloc(SOME_SIZE * sizeof(char));
我会看到 theString 是 \x03 并且 *theString 是“3 '\003'”。
起初我认为这只是奇怪的记忆,因为我没有使用 strcat 或任何东西,但是那个奇怪的起始字符会继续存在,并且在我执行类似 malloc 的每个其他点重复出现。
就正常处理而言,这很好。不幸的是,我不明白它是什么,否则,我只会做一些激烈的事情,比如切断第一个字符或其他东西。
如果我想安全地将其转换为 NSString,有人可以向我解释这是什么以及如何处理它吗?