2010-10-26 2 views
8

У меня есть nsstring (filePath), который имеет путь к звуковому файлу. Мне нужно открыть аудиофайл, поэтому я хочу преобразовать nsstring в Cstring.Как преобразовать nsstring в cString?

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

находится выше линии правильно или нет, потому что я могу также использовать Еореп ([Filepath CString], «г») ;, В некоторых сайтах он упоминается в использовании UTF8stringEncoding.Which является правильным NSString к преобразованию строки. Пожалуйста, помогите мне. Спасибо.

ответ

17

Использование UTF8String:

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

Могу ли я узнать разницу между вашим ответом и тем, что я использовал. Как проверить, работает ли он нормально? – Warrior

+0

@ Уорриор, я думаю, что чтение документации прояснит любые сомнения, которые у вас могут быть. –

+0

Вы знаете, как преобразовать аудиофайл в Nsdata, я использую сессию экспорта, но всегда не удалось – GhostRider

6

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

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

+0

Вы должны объяснить более подробно, почему вы, похоже, не согласны с принятым ответом. – manuell

+0

Поскольку HFS + или другие файловые системы несовместимы с системой Unicode. Другая причина. Этот метод работает путем замены абстрактных символов пути и расширений расширений ('/' и '.' Соответственно) с их эквивалентами для текущей файловой системы. –

+0

Отлично, так что просто обновите ответ :-) – manuell

Смежные вопросы