Verzeichnis in Textdatei ausgeben - funzt bei mir, bei 2 Freunden aber nicht :-(
-
Hallo Leute!
Ich habe ein Problem mit einem kleinen Programm. Das Problem ist, dass das Programm bei mir tadellos läuft, bei 2 Freunden von mir, denen ich es zugemailt habe, aber nicht. Woran kann das liegen?
Das Programm ist eine Einsteigerübung. Ich habe es vor Jahren bereits in Basic umgesetzt, und mich jetzt drangemacht, es mit einem C-Lehrbuch und ein paar Online-Tutorials in C/C++ implementieren.
Das Programm liest ein Verzeichnis aus und gibt den Inhalt in einer Textdatei aus. Den Pfad zu dem Verzeichnis bezieht das Programm aus der pfad.txt, die den Job so einer Art kleinen Config-Datei hat. Bei dem 1 meiner Kumpels passiert gar nichts, wenn er die kompilierte Exe startet. Bei dem anderen gibt es immer die Fehlermeldung: "Diese Anwendung konnte nicht gestartet werden, weil die Anwendungskonfiguration nicht korrekt ist. Zur Problembehebung sollten Sie die Anwendung neu installieren". Den Freunden hatte ich die kompilierte Datei und die pfad.txt in einem ZIP-Archiv geschickt.
Inhalt der pfad.txt (beispielhaft) - diese Datei gehört ins gleiche Verzeichnis wie das kompilierte Programm:
C:\*Das Programm:
#include <stdio.h> #include <stdlib.h> #include <windows.h> int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow) { WIN32_FIND_DATA wfd; HANDLE fHandle; FILE* pfaddatei; FILE* outputdatei; int linecounter=1; char pfad[260]; char line[400]; /* Pfad des aufzulistenden Ordners aus der Datei pfad.txt lesen ------ */ pfaddatei = fopen("pfad.txt","r"); if(pfaddatei==NULL) /*fehler beim oeffnen?*/ { return -1; } while(!feof(pfaddatei)) { fgets(pfad,4096,pfaddatei); /*printf(pfad);*/ } /* ------------------------------------------------------------------- */ fHandle=FindFirstFile(pfad,&wfd); outputdatei=fopen("verzeichnisliste.txt","w"); if(outputdatei==NULL)/* Fehler beim oeffnen? */ { return -1; } /* Kein Fehler beim Öffnen? Dann - go!!! */ fprintf(outputdatei, pfad); fprintf(outputdatei, "\n"); FindNextFile(fHandle,&wfd); /* Ordner "." überspringen */ FindNextFile(fHandle,&wfd); /* Ordner ".." überspringen */ do { fprintf(outputdatei, "%i", linecounter); fprintf(outputdatei, "\t"); if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { fprintf(outputdatei, "Ordner"); fprintf(outputdatei, "\t"); fprintf(outputdatei,wfd.cFileName); fprintf(outputdatei, "\n"); } else { fprintf(outputdatei, "Datei"); fprintf(outputdatei, "\t"); fprintf(outputdatei,wfd.cFileName); fprintf(outputdatei, "\n"); } linecounter++; } while (FindNextFile(fHandle,&wfd)); fclose(outputdatei); FindClose(fHandle); ShellExecute(NULL, "open", "verzeichnisliste.txt", NULL, NULL, SW_SHOW); return 0; }
-
und dieser Code soll ANSI Code sein?
Ich kenn die WinAPI nicht, kann dir nicht helfen. BTW: falsches Forum

Was deiner Fehlerbeschreibung anbetrifft: Was heißt "passiert gar nichts"???
-
supertux schrieb:
Was deiner Fehlerbeschreibung anbetrifft: Was heißt "passiert gar nichts"???
Lt. Beschreibung meines Freundes passiert wirklich rein gar nichts, wenn er die Exe startet. Die verzeichnis.txt wird nicht angelegt, und auch ansonsten ist nichts zu sehen.
Bei den verwendeten Befehlen und der Syntax habe ich mich weitestgehend an einem Ansi-C-Buch entlanggehangelt, bis auf ein paar Detaillösungen, die ich mir ergoogelt habe, die aber ebenfalls von C-Seiten kommen. Deshalb habe ich es hier in das Ansi-C-Forum gesetzt. Hätte es in das WinAPI-Forum gehört? Dann sorry, vielleicht ist ein Mod so nett und verschiebt es.
-
Release Version übersetzen.
-
Habt ihr die gleichen Betriebssysteme auf eueren Rechnern?
MfG f.-th.
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
f.-th. schrieb:
Habt ihr die gleichen Betriebssysteme auf eueren Rechnern?
Ja, wir haben alle drei WinXP SP2.
f.-th. schrieb:
Release Version übersetzen.
Was bedeutet das?
Dem Mod danke fürs verschieben.
-
-
Probe-Nutzer schrieb:
http://msdn.microsoft.com/de-de/library/ms235299(vs.80).aspx
Ahhhh...
ein Licht am Ende des Tunnels... danke für den Tipp!