Ich schon wieder
Ich habe eine Frage zur generellen Linux/Unix C Programmierung.
Ich portiere gerade ein paar kleine Utilities und bin auf folgendes Problem gestossen:
Es geht darum den Inhalt eines Verzeichnisses auszulesen:
Unter Windows würde ich Funktionen wie FindFirstFile verwenden.
Wir verwenden normalerweise wchar_t* für Strings und die Windows API liefert gleich die passenden Funktionen wie FindFirstFileW dazu.
Jetzt habe das Linux-Äquvivalent für diese API-Aufrufe hier(ist aus einem Beispiel kopiert und macht keinen Sinn aber das ist für die Frage egal):
Wie kann ich jetzt opendir readdir usw. dazu bewegen wchar_t* Datentypen zu verwenden? Geht das über Compiler-Switches über spezifische Includes oder was auch immer. Oder garnicht? Oder muss ich alle wchar_t strings in char konvertieren?[/code]
P.S.: verwende gcc/g++ 4.1.0
Ich habe eine Frage zur generellen Linux/Unix C Programmierung.
Ich portiere gerade ein paar kleine Utilities und bin auf folgendes Problem gestossen:
Es geht darum den Inhalt eines Verzeichnisses auszulesen:
Unter Windows würde ich Funktionen wie FindFirstFile verwenden.
Wir verwenden normalerweise wchar_t* für Strings und die Windows API liefert gleich die passenden Funktionen wie FindFirstFileW dazu.
Jetzt habe das Linux-Äquvivalent für diese API-Aufrufe hier(ist aus einem Beispiel kopiert und macht keinen Sinn aber das ist für die Frage egal):
Code:
DIR *dirptr;
struct dirent *dir;
if ((dirptr=opendir(path)) == NULL)
return;
while((dir=readdir(dirptr)) != NULL)
{
printf("%s\n",dir->d_name);
} // endwhile
closedir(dirptr);
Wie kann ich jetzt opendir readdir usw. dazu bewegen wchar_t* Datentypen zu verwenden? Geht das über Compiler-Switches über spezifische Includes oder was auch immer. Oder garnicht? Oder muss ich alle wchar_t strings in char konvertieren?[/code]
P.S.: verwende gcc/g++ 4.1.0