Как преобразовать NSString в CString?
-
26-09-2019 - |
Вопрос
У меня есть NSString (FilePath), который имеет путь к аудиофайлу. Я хочу открыть аудиофайл, поэтому я хочу преобразовать NSString в CSTRING.
fopen([filePath cStringUsingEncoding:1], "r");
Вышеуказанная линия правильная или нет, потому что я также могу использовать fopen([filePath cString], "r");
. Отказ В некоторых веб-сайтах упоминается, чтобы использовать UTF8StringEncoding. Который является правым NSString к конвертации строки?
Решение
Использовать UTF8String
:
fopen([filePath UTF8String], "r");
Другие советы
Не используйте UTF8String
, но fileSystemRepresentation
.
Вы должны сделать это, потому что HFS + или другие файловые системы не строго совместимы с системой Unicode. Еще одна причина: этот метод работает путем замены абстрактных символов пути и разделителя расширения («/» и «.» Соответственно) с их эквивалентами для текущей файловой системы.