Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>Problem mit String-Encoding von MacRoman nach UTF08

Problem mit String-Encoding von MacRoman nach UTF08

hans-egon
hans-egon06.10.0423:13
Hi!

Ich habe ein für mich ziemlich schwer wiegendes Problem mit einem Dateinamen, der ein Sonderzeichen enthält und ihn auch enthalten muss ...
Es handelt sich dabei um eine hoch gestellte 3.
Ich lese per readdir() ein Verzeichnis aus und gebe nach und nach per printf() alle gelesenen Dateinamen aus. Alles ist wunderbar bis auf die Stelle mit der hochgestellten 3. Dort steht dann \263. Ich gehe also mal davon aus, es gibt ein Codierungsproblem.
Also habe ich versucht, mit Carbon-Funktionen den MacRoman-String in einen UTF08-String zu wandeln.

const char* encodedString;
//
// encodedString bekommt hier einen Dateinamen übergeben
//
CFStringRef fileName;
CFIndex bufferSize = 1024;
char* newEncodedString = NULL;

fileName = CFStringCreateWithCString(kCFAllocatorDefault, encodedString, kCFStringEncodingMacRoman);
CFStringGetCString(fileName, newEncodedString, bufferSize, kCFStringEncodingUTF8);

Mit der letzten Zeile beendet sich leider das Programm ("... has exited due to signal 10 (SIGBUS)."). Und das unabhängig von der Datei mit dem komischen Namen. Das passiert immer.
Habe ich also ein Verständnis oder Syntaxproblem?

Ich hoffe, die Infos reichen und es kann mir jemand weiterhelfen ... Und möglicherweise auch besseren Code anbieten. Danke!

hans-egon

P.S.: Der gleiche Eintrag steht auch bei , da eine Hilfe aber eher dringend ist, stell ich es auch hier ein ...
0

Kommentare

Es sind keine Einträge vorhanden.
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.