Weiss nicht genau was ich anwenden muss um das Problem zu lösen



  • also ich habe ein Codestück bei dem etwa 7 mal hintereinander so ein befehl Kommt:

    if (wahl == 1)
              {
                FILE* datei;
                printf("\nThema1\n");   
                printf("ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\n\n\n");
                datei = fopen("C:\\TXTDATENBANK\\datei1.txt",
                              "r");  //datei wird geöffnet
                if (datei != NULL)
                  {
                    while ((c = fgetc(datei)) != EOF)
                        putchar(c);
                  }
                else
                    nichtfindenoeffnen();
                getchar();
              }
    

    Jetzt wollte ich wissen was ich da am besten für eine Technik anwenden muss damit ich nicht immer 7mal den gleichen Code einfach immer mit ner anderen Pfad angabe eintippen muss. Logisch gänge es auch mit 7mal hintereinander eintippen aber ich habe das gefühl da macht den Code unübersichtlich. Hoffe man kann mir helfen.



  • Du weist aber schon, was eine Funktion ist?



  • Ja sicher aber mit der abfrage kann man ja nur sozusagen blöche zusammenfassen und ich denke nicht das man das ganze so in eine Funktion Packen kann das alles ausser der Pfad reinkommt.



  • könnte man das nicht so in dem stil machen?:

    "Code"
    (Nr., Pfad)
    "Code"





  • Für solche Sachen gibt es Funktionen:

    void schreibeDatei(char *dat)
    {
        FILE* datei;
        printf("\nThema1\n");  
        printf("ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\n\n\n");
        datei = fopen(dat,"r");  //datei wird geöffnet
        if (datei != NULL)
        {
            while ((c = fgetc(datei)) != EOF)
                putchar(c);
        }
        else
            nichtfindenoeffnen();
        getchar();
    }
    
    // Aufruf über
    
    schreibeDatei("/home/a");
    schreibeDatei("/opt/HelloWorld");
    schreibeDatei("ausgabe");
    


  • SeppSchrot schrieb:

    Du weist aber schon, was eine Funktion ist?

    Ja sicher aber mit der abfrage kann man ja nur sozusagen blöche zusammenfassen und ich denke nicht das man das ganze so in eine Funktion Packen kann das alles ausser der Pfad reinkommt.

    @SeppSchrot: wohl eher nicht!

    mfg hohesC



  • also die 7 blöcke haben alle einen Anderen Titel und der Dateipfad endet mit diversen namen und nicht mit zahlen. Dies einfach mit {schreibeDatei("/home/a");} lösen?



  • Abfragen schrieb:

    Dies einfach mit {schreibeDatei("/home/a");} lösen?

    Das auf jeden Fall. Wenn du einen anderen Titel hast, dann schreibst du die Funktion halt mit zwei Parametern:

    schreibeDatei(char *dateiname, char *titel)
    


  • ok ich muss jetzt mal Zuerst die geschichte mit den Pointer lernen bevor ich da glaubs weitermachen kann. Melde mich dann wieder wenn ichs kann. Bringt ja nichts wenn ich nix von Pointer verstehen. Aber trozdem schon Mal danke für Alles


Anmelden zum Antworten