004
30.12.2006, 16:44 Uhr
~stuard
Gast
|
| Zitat von Uwe: |
Hallo, selbiger Quellcode aus meinem Link, den Kram mit der Parameterübergabe gelöscht und den Qellcode an 2 Stellen geändert.
| C++: |
#include <windows.h> #include <stdio.h> #include <malloc.h> #include <tchar.h> #include <wchar.h> #include <strsafe.h>
#define BUFSIZE MAX_PATH #define PATH "C:\\WINNT"
int _tmain(int argc, _TCHAR* argv[]) { WIN32_FIND_DATA FindFileData; HANDLE hFind = INVALID_HANDLE_VALUE; DWORD dwError; LPTSTR DirSpec; //size_t length_of_arg;
DirSpec = (LPTSTR) malloc (BUFSIZE); _tprintf (TEXT("Target directory is %s.\n"),PATH );
// Prepare string for use with FindFile functions. First, // copy the string to a buffer, then append '\*' to the // directory name. StringCbCopyN (DirSpec, BUFSIZE, PATH, 9); StringCbCatN (DirSpec, BUFSIZE, TEXT("\\*"), 2*sizeof(TCHAR));
// Find the first file in the directory. hFind = FindFirstFile(DirSpec, &FindFileData);
if (hFind == INVALID_HANDLE_VALUE) { _tprintf (TEXT("Invalid file handle. Error is %u.\n"), GetLastError()); return (-1); } else { _tprintf (TEXT("First file name is: %s\n"), FindFileData.cFileName); // List all the other files in the directory. while (FindNextFile(hFind, &FindFileData) != 0) { _tprintf (TEXT("Next file name is: %s\n"), FindFileData.cFileName); } dwError = GetLastError(); FindClose(hFind); if (dwError != ERROR_NO_MORE_FILES) { _tprintf (TEXT("FindNextFile error. Error is %u.\n"), dwError); return (-1); } }
free(DirSpec); return 0; }
|
Edit: Für Unterverzeichnisse einfach eine Function schreiben, die die UVZ rekursiv durchforstet und ausgibt.
|
Letzendlich macht der code doch auch nichts anderes als an den ordnernamen hinten das //* dranzuhängen und dann den Inhalt auszugeben.
Was ich doch eigentlich in meinem code auch gemacht hab, ist zwar noch hard drin, aber ich will den inhalt des Ordners C:/temp haben. Also müsste der Pfad doch C \temp\\* im Programm lauten?!
Bei mir findet er dann aber keine dateien, wenn ich das was er findet ausgeben in der konsole ist das ein einfacher punkt(.).
Oder sehe ich jetzt den Wald vor lauter Bäumen nicht? |