"C" Datei erstellen / umbennen PROBLEM

BassKiLLaZ

Neuling
Thread Starter
Mitglied seit
04.03.2013
Beiträge
405
Ort
Adelmannsfelden / BW
Hoi Luxxer,

ich habe ein mächtiges Problem. Lerne gerade auf meine staatlichen Techniker Prüfungen und komme in C bei einem Programm nicht weiter.

Hier mein Problem:

Filenamen eines Quelfiles vom Anwender abfragen. Aus dieser Datei wird nur gelesen.

FILE *datei;
char dateiname[80];
int sensor[200],temp[200],i;

printf("Name der Datei? ");
gets(dateiname);

datei = fopen (dateiname,"a"); // Datei zum schreiben öffnen oder erstellen

if (datei==NULL)
printf("Dateierstellungsfehler\n");

Jetzt mein Problem. Jetzt will ich diese Datei nochmals öffnen, aber am Dateinamen noch etwas anhängen z.b _ende.

mit der Funktion rename ändere ich den ganzen Namen ja und ich weis ja noch nicht welche Datei ich umbenenne möchte. Welcher Befehl wäre dann der richtige? tmpname? Wie müßte ich es dann schreiben?:(

Gruß Daniel
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Google sagt:
C - File I/O

Ich bin nur in der Embedded Welt unterwegs, da kann ich dir mit Dateisystem-Krams leider nicht viel helfen.
 
Zuletzt bearbeitet:
Es wäre besser, du beschreibst genau, was du willst. Denn "Jetzt will ich diese Datei nochmals öffnen, aber am Dateinamen noch etwas anhängen z.b _ende." macht so gar keinen Sinn. Das Öffnen einer Datei hat nichts mit der Änderung des Dateinamens zu tun.
Wenn es ums umbenennen geht, verstehe ich auch nicht, wo genau dein Problem liegen soll. Wenn du den Dateinamen der Datei, die du umbenennen willst nicht kennst, dann brauchen wir wahrscheinlich auch nicht weiter zu reden. Denn das ist eine Voraussetzung für das Umbenennen.
 
mit der Funktion rename ändere ich den ganzen Namen ja und ich weis ja noch nicht welche Datei ich umbenenne möchte. Welcher Befehl wäre dann der richtige? tmpname? Wie müßte ich es dann schreiben?:(

Nicht sicher ob ich dich korrekt verstehe, aber wie wär's einfach mit strcat? Du nimmst den String deines ursprünglichen Dateinamens und pappst "_ende" einfach hinten dran, und dann benennst du die Datei mit rename um.

strcpy(dateiname_neu, dateiname);
strcat(dateiname_neu, "_ende");
rename(dateiname, dateiname_neu);
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh