Problem beim auflisten von Ordnerinhalten
-
erstmal danke an Badestrand.
Ja, er findet die Dateien alles passt aber die Codierung ist wirklich sehr komisch, aufjedenfall wird nicht der Dateiname angezeit wegen falsch Umwandlung vermutlich kA
ich krieg so komische Zeichen vorliegen
-
In dem Post stand auch drin, dass der Code nicht getestet ist, aber das Prinzip solltest du verstehen, darum geht schließlich...
-
Ah sry mit Codierung meine ich nur die Namen der Datei, nicht deinen Code.
(falls du dachtest ich lästere über deinen Bsp-Source
)
Ich krieg zb nur so Vierecke und strange Zeichen
-
hmm ich poste mal was mir bei allen Dateien als Dateiname angezeigt wird:
|¬þ
-
Keiner ne Idee wie ich das in was lesbares umwandeln könnte?

-
Hast du mal überprüft, ob FindFirstFile ein valides Handle zurückgibt? Oder schmeißt du Unicode und MultiChar durcheinander? Zeig mal deinen Code (wenns nicht ge-copy-pastet ist)...
-
Hi,
hier mal der Code:
#include <windows.h> #include <stdio.h> char Directory[200] = "I"; int files(void) { HANDLE fHandle; WIN32_FIND_DATA wfd; char a[10]; char b[300]; char DoppelSlash[3]=":\\"; char Doks[200]="Dokumente und Einstellungen\\"; char Username[200]="Muhammed.NONE-GIH0BS3O7L"; char Path[200]="\\Eigene Dateien\\Meine empfangenen Dateien\\mahba893707897003\\Verlauf\\"; unsigned long int c=200; GetWindowsDirectory(a,11); //GetUserName(Username,&c); b[0]=a[0]; lstrcat(b,DoppelSlash); lstrcat(b,Doks); lstrcat(b,Username); lstrcat(b,Path); FILE *file; file=fopen("test.txt","w+"); fprintf(file,"%s\n\n",b); fHandle=FindFirstFile(b,&wfd); do { if (!( (wfd.cFileName[0]=='.') && ( (wfd.cFileName[1]=='.' && wfd.cFileName[2]==0) || wfd.cFileName[1]==0 ) )) { if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { fprintf(file,"%s\n",wfd.cFileName); Sleep(1000); } else { fprintf(file,"%s\n",wfd.cFileName); Sleep(1000); } } (FindNextFile(fHandle,&wfd)); } while (1); FindClose(fHandle); fclose (file); return 0; }
-
Ich nehm mal an dass es was mit der Formatierung ("%s") zutun hat oder ich das zuerst umwandeln muss aba da bin ich überfragt.
-
1. Mach mal nach
b[0]=a[0];
noch ein
b[1] = 0;2. Gib mal vor FindFirstFile mit MessageBox(0,b,0,0); b aus.
3. Prüf auch, ob fHandle != INVALID_HANDLE_VALUE ist.
4. Warum hast du eine do ... while(1)-Schleife und keine do ... while (FindNextFile(...))-Schleife?
-
Hallo,
k das mit b[1] hab ich gemacht,
mir wird einfach der zusammengesetzte Pfad (der richtig ist) ausgegeben.fHandle ist gültig
MFG
-
danke->SOLVED
-
Theseus schrieb:
danke->SOLVED
Woran lags denn?
-
Ich weiss es nicht GENAU aber ich denke ich hab beim Pfad am Schluss (beim "\")
kein "*" hinzugefügt