004
02.04.2008, 17:51 Uhr
banshee
|
Ich hab gerade etwas Probleme mit der Funktion FindFirstFile():
C++: |
if(argc < 2) argv[1] = "";
if(strlen(argv[1]) + 2 > MAX_PATH) { printf("Directory path is too long.\n"); return -1; }
strcpy(szDir, argv[1]); strcat(szDir, "\\*.txt");
hFind = FindFirstFile(szDir, &FindFileData);
if(hFind == INVALID_HANDLE_VALUE) { printf("FindFirstFile() failed (%d)\n", GetLastError()); return 1; }
|
Den Codeabschnitt benutze ich zum einlesen. Der Pfadname soll übergeben werden und falls nix übergeben wird, soll er im aktuellen Verzeichnis suchen. Dann steht also "\*.txt" in szDir. Trotzdem gibt mir das GetLastError() den Wert 2 zurück. Ich hab in der MSDN nachgelesen, dass GetLastError() ERROR_FILE_NOT_FOUND zurückgibt, wenn er die Datei nicht findet und alle anderen Fehlercodes etwas anderes bedeuten. Ich kann mir jetzt eigentlich nur erklären, dass er den Pfad so aus irgendwelchen Gründen nicht nimmt. Ideen wieso?
PS: Den Thread kann ein Admin auch gerne mal in die richtige Rubrik verschieben. |