Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- #define datei_alt "datei.old" //Dateiname der alten Datei
- #define neu_endung ".new" //Dateiendung der neuen Datei
- #define LK 0 //Vorgegebene Startwerte
- #define AKZEPTANZ 1000.0 //Vorgegebene Startwerte
- #define PREIS 10.0 //Vorgegebene Startwerte
- struct { //Gegebenes struct
- int a_nummer;
- char interpret[40+1];
- char album[40+1];
- } Satztyp;
- struct { //Struct, dass hinzugefügt wird
- int a_nummer;
- char interpret[40+1];
- char album[40+1];
- int lk;
- float akzeptanz;
- float preis;
- } Neu_Satztyp;
- int main()
- {
- FILE *fp_alt; //Filepointer für alte Datei festlegen
- FILE *fp_neu; //Filepointer für neue Datei festlegen
- char datei_neu[30+4]; // +4 Zeichen wegen der Endung
- char dateiname_oe[30];
- Satztyp satz; //Puffervariable zum Lesen und Schreiben
- Neu_Satztyp satz_neu; //Puffervariable zum Schreiben
- int i; //Hilfsvariable
- fp_alt = fopen (datei_alt, "r+b"); //Alte Datei öffnen
- printf("Bitte den neuen Dateinamen ohne Endung eingeben!\n");
- scanf("%c",dateiname_oe);
- // datei_neu = dateiname_oe + neu_endung // Andere Loesung?
- fp_neu = fopen (datei_neu, "w+b"); //Neue Datei anlegen
- fseek (fp_alt, 0, SEEK_SET); //Lesepositionen auf Anfang setzen
- fseek (fp_neu, 0, SEEK_SET); //Schreibpositionen auf Anfang setzen
- while ( !feof(fp_alt)){ //Solange die alte Datei nicht am Ende ist...
- //soll Struct für Struct übertragen werden
- fread( &satz, sizeof(satz), 1, fp_alt);
- satz_neu.a_nummer = satz.a_nummer;
- satz_neu.interpret = satz.interpret;
- satz_neu.album = satz.album;
- satz_neu.lk = LK;
- satz_neu.akzeptanz = PREIS;
- satz_neu.preis = AKZEPTANZ;
- fwrite( &satz_neu, sizeof(satz_neu),1, fp_neu);
- }
- fpclose(fp_neu);
- fpclose(fp_alt);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement