Namen zusammensetzen und Dateien kopieren



  • Hallo!

    Ich möchte nach verschiedenen Durchläufen meine alten, nicht mehr im Progrtamm verwendbaren, Dateien sichern. Dazu möchte ich sie durchnummeriert ablegen.

    Mein Ansatz:

    int count = 1;
    char buffer[1];
    sprintf(buffer, "%i", count);
    char* txt = ".txt";
    char* abst = "abstaende.txt";
    char* sendeserver = "sendeserver.txt";
    char* empfangserver = "empfangserver.txt";
    abst = strcat(abst, buffer);
    sendeserver = strcat(sendeserver, buffer);
    empfangserver = strcat(empfangserver, buffer);
    abst = strcat(abst, txt);
    sendeserver = strcat(sendeserver, txt);
    empfangserver = strcat(empfangserver, txt);
    
    rename("abstaende.txt", abst);
    rename("sendezeit_server.txt", sendeserver);
    rename("empfangszeit_server.txt", empfangserver);
    count++;
    

    Leider erhalte ich einen Laufzeitfehler, sobald ich rename aufrufe.

    Kann mir das jemand erklären? Was muss ich tun?

    Danke, Gruß, Jörg



  • Erstens zeigen deine char* xyz = "..."; Variablen alle auf String-Literale (die das Programm üblicherweise im ROM unterbringt) und sind nicht beschreibbar. Da solltest du lieber char-Arrays anlegen (und wenn du noch etwas hinten anhängen willst, genug Platz dafür vorbereiten).

    Zweitens ist der char buffer[1]; deutlich zu klein für alles, was du dort reinpacken könntest (der bietet gerade mal Platz für den Null-Terminator).

    Und drittens bin ich mir nicht sicher, ob du deine Dateien wirklich "abstaende.txt1.txt" nennen willst 😉


Anmelden zum Antworten