Вопрос

У меня есть NSString (FilePath), который имеет путь к аудиофайлу. Я хочу открыть аудиофайл, поэтому я хочу преобразовать NSString в CSTRING.

  fopen([filePath cStringUsingEncoding:1], "r");

Вышеуказанная линия правильная или нет, потому что я также могу использовать fopen([filePath cString], "r");. Отказ В некоторых веб-сайтах упоминается, чтобы использовать UTF8StringEncoding. Который является правым NSString к конвертации строки?

Это было полезно?

Решение

Использовать UTF8String:

fopen([filePath UTF8String], "r");

Другие советы

Не используйте UTF8String, но fileSystemRepresentation.

Вы должны сделать это, потому что HFS + или другие файловые системы не строго совместимы с системой Unicode. Еще одна причина: этот метод работает путем замены абстрактных символов пути и разделителя расширения («/» и «.» Соответственно) с их эквивалентами для текущей файловой системы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top