Como converter o NSString em CString?
-
26-09-2019 - |
Pergunta
Eu tenho um NSString (filepath), que tem o caminho para o arquivo de áudio. Quero abrir o arquivo de áudio, então quero converter o NSString para CString.
fopen([filePath cStringUsingEncoding:1], "r");
é a linha acima está correta ou não, porque eu também posso usar fopen([filePath cString], "r");
. Em alguns sites, é mencionado usar o UTF8StringEncoding. Qual é o NSString certo para a conversão de string?
Solução
Usar UTF8String
:
fopen([filePath UTF8String], "r");
Outras dicas
Não use UTF8String
, mas fileSystemRepresentation
.
Você deve fazer isso porque o HFS+ ou outros sistemas de arquivos não são estritamente compatíveis com o sistema Unicode. Outro motivo: este método opera substituindo o caminho abstrato e os caracteres separadores de extensão ('/' e '.', Respectivamente) por seus equivalentes para o sistema de arquivos atual.