Я только что преобразовал библиотеку Objective-C в библиотеку C в надежде сделать ее кроссплатформенной. Тем не менее, все выглядит нормально, пока я не отправлю эту вещь на обработку.
Это в тот момент, когда я получаю ошибку.
Оглядываясь назад, я заметил кое-что в отладчике.
Сразу после строки malloc:
char *theString = malloc(SOME_SIZE * sizeof(char));
Я бы увидел, что theString - это \ x03, а * theString - "3 '\ 003'".
Сначала я предположил, что это было просто странное воспоминание, так как я не надевал strcat или что-либо еще, но этот странный начальный символ переносится и повторяется в любой другой момент, когда я выполняю подобный malloc.
С точки зрения нормальной обработки это нормально. К сожалению, я не понимаю, что это такое, в противном случае я бы просто сделал что-то радикальное, например, отрезал первого персонажа или что-то в этом роде.
Может ли кто-нибудь объяснить мне, что это такое и как я с этим справляюсь, если я хочу безопасно преобразовать его в строку NSString?