2009-06-01 13 views
2

ich kann nicht verwenden fopen auf Dateien enthält in ihrem Namen einige Zeichen (Beispiel: ş, ç, ı) Wie kann ich fopen auf diese Dateien verwenden? ich benutze vC++ 6 (ich muss) und c Sprache. Wenn ich _wfopen verwenden wollte, wird nie eine Datei geöffnet.fopen nicht-ascii Zeichenfehler

+0

Benötigen Sie weitere Details, wurde errno nach dem Aufruf von _wfopen() gesetzt? Wie haben Sie versucht, Daten aus dem zurückgegebenen Dateihandle zu lesen (wenn überhaupt)? –

+0

Bitte schreiben Sie Ihren Code mit _wfopen, damit wir herausfinden können, warum er nicht funktioniert. – crashmstr

Antwort

3

Konvertieren Sie Ihren Pfadnamen in UTF-16 (wahrscheinlich mit MultiByteToWideChar) und verwenden Sie GetShortPathNameW, um einen Pfad zu erhalten, den Sie an fopen übergeben können.

0

Stellen Sie sicher, dass Sie wchar _ t (es ist eine Compiler-Einstellung) und stellen Sie sicher, dass Sie in einem wchar _ t * übergeben und kein Char * zu _wfopen.