0
我只是将一个Objective-C库转换为C库,希望能够跨平台。然而,一切似乎都没有问题,直到我把这件东西送去处理。Malloc'ed字符串包含垃圾值
这是在我得到一个错误。
回想几个修订,我注意到调试器中的一些东西。
右像这样一个malloc分配字符串后:
char *theString = malloc(SOME_SIZE * sizeof(char));
我会看到theString是\ X03和* theString是 “3 '\ 003'”。
我最初假定这只是奇怪的记忆,因为我没有穿过strcat或任何东西,但是奇怪的起始字符贯穿始终,并且在每一个其他点都重复执行类似的malloc 。
就正常处理而言,这很好。不幸的是,我不明白它是什么,否则,我只会做一些像切断第一个角色或其他东西那样激烈的事情。
有人可以向我解释那是什么以及如何处理它,如果我想要安全地将其转换为NSString?
请注意,除非必要,否则不应使用calloc(例如对于结构体或数组)。 – 2009-05-28 05:33:32