Datei aus Argument öffnen (gelöst)
-
Moin!
Ich schreibe gerade ein Konsolenprogramm, daß für mich eine logische Funktion kürzt. Das Programm soll die Daten zum Kürzen aus einer Datei laden, die per Argument angegeben wird (Beispiel: "./digit temp.dat", öffnet das Programm digit, daß die Datei temp.dat auslesen soll).
Ich habe das mit folgendem Code realisiert:
int main (int argc, char *argv[]) { FILE *tabelle; tabelle = fopen (argv[1], "rb"); if (tabelle == NULL) { printf ("\nDatei %c nicht gefunden. Stellen sie sicher,daß sich die Datei\nim selben Verzeichnis wie digit.exe befindet\n\n", argv[1]); return 0; }
Bisher sehe ich keine Probleme damit. Der Compiler kompiliert, den "-pedantic" Modus übersteht er und er liest die Datei ohne bisher merkbare Fehler aus. Gebe ich jedoch beim Kompilieren zusätzlich das Argument "-Wall" (alle Warnungen anzeigen) an, erscheint folgende Warnung:
*main2.c: In Funktion »main«:
main2.c:10: Warnung: format »%c« erwartet Typ »int«, aber Argument 2 hat Typ »char *«
*Ich programmiere unter Ubuntu 8.04 mit dem mitgelieferten GNU-C-Compiler und dem Befehl "gcc -pedantic -Wall -o testi main2.c"
wie gesagt, bisher gibts keine Probleme, aber ich möchte möglichst Plattformübergreifend schreiben, daher gefallen mir auch die scheinbar unwichtigen Warnungen überhaupt nicht.
PS.: Ganz fehlerfrei funktioniert es dann doch nicht. Beim öffnen mit ./digit hallo gibt er mir in der eingebauten Fehlermeldung *Datei Y nicht gefunden. Stellen sie sicher,daß sich die Datei
im selben Verzeichnis wie digit.exe befindet
*ausPS.: Erst denken, dann fragen... tut mir Leid (und das gleich beim ersten Post...)
Es muß natürlich %s und nicht %c in der Ausgabe heißen.
-
Macht nichts, kann jedem mal passieren.