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
    *aus

    PS.: 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. 🙂


Anmelden zum Antworten