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