textdatei erstellen



  • Ich hab ein Problem, ich möchte, dass das Programm eine texttdatei erstellt/öffnet deren Name in einer variable steht.
    Hier der Code:

    #include <stdio.h>
    #include <string.h>
    void main (void)
    {
    char dateiname[30]="hallo";
    char txt[5]=".txt";
    FILE *datei;  
    strcat ( dateiname, txt );  
    datei = fopen ( "%s", "w+" ); 
    
    printf("%s ",dateiname);
    }
    

    Der Fehler ist, dass es bei der fopen zeile zu viele argumente gibt, kann mir da jemand helfen wie ich das machen kann?
    (strcat wird von mir als verkettungsoperator benutzt)



  • Dein Quelltext stinkt nach C. In C++ würde man das folgendermaßen machen:

    #include <string>
    #include <fstream>
    
    int main()
    {
        std::string dateiname = "hallo";
        std::string txt = ".txt";
    
        std::ofstream Stream ((dateiname + txt).c_str());
    
        Stream << "text, der in Datei geschrieben werden soll";
    }
    


  • Dein Quelltext stinkt nach C.

    ⚠

    trotzdem der fehler:

    #include <stdio.h>
    #include <string.h>
    int main ()                         // !!!
    {
    char dateiname[30]="hallo";
    char txt[5]=".txt";
    FILE *datei;  
    strcat ( dateiname, txt );  
    datei = fopen ( dateiname, "w+" );  // %s ->? ->funktioniert nicht wie printf
    
    printf("%s ",dateiname);
    }
    


  • Der quelltext stinkt nach c, da ich von c auf c++ umgesprungen bin.

    Aber so wie ihr es geschrieben habt funktioniert es Danke.


Anmelden zum Antworten