... so ich gebe mal den modifizierten quelltext zum besten. er ist jetzt soweit angepasst das ich ihn so verwenden werde.
nochmals vielen dank an die beiden helfer!
Code:#include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argumentcounter, char *argumentvariable[]) { FILE *pDatei,*pZiel; long size; char zeichen,endung[5],Ziel[255]; int laenge,i; if (argumentcounter==1 || argumentcounter>3) // Fehlerhafte Eingabe { printf("\nFehler! Es fehlen die Parameter Quellddateiname und ggf. Zieldateiname.\n\n"); printf("Wenn der Zieldateiname gleich dem Quelldateinamen plus den Zusatz '_down' entsprechen soll, muss nur der Quelldateiname uebergeben werden. Weicht der Zieldateiname ab, muessen beiden Namen uebergeben werden.\n"); printf("\n"); printf("Bsp.: \n1.) Quell- und Zielname gleich: \n"); printf("\tAufruf: 'reverse.exe Quelle.bin'\n"); printf("\tAusgabedatei: Quelle_down.bin\n\n"); printf("2.) Quell- und Zielname ungleich \n"); printf("\tAufruf: 'reverse.exe Quelle.bin Ziel.bin'\n"); printf("\tAusgabedatei: Ziel.bin\n\n"); exit(1); } if (argumentcounter==2) // Zieldateiname gleich dem Quelldateinamen + "_down" { pDatei = fopen(argumentvariable[1],"rb"); if(pDatei == NULL) { printf("Fehler beim Oeffnen der Quell-Datei!\n"); printf("Programm beendet.\n"); //getch(); exit(1); } laenge=strlen(argumentvariable[1]); strcpy(Ziel,argumentvariable[1]); for (i=0;i<5;i++) {endung[i]=Ziel[(laenge-4)+i];} strncpy(Ziel,argumentvariable[1],laenge-4); Ziel[laenge-4]='\0'; strcat(Ziel,"_down"); strcat(Ziel,endung); pZiel = fopen(Ziel, "wb"); if(pZiel == NULL) { printf("Fehler beim Oeffnen der Ziel-Datei!\n"); printf("Programm beendet.\n"); fclose(pDatei); //getch(); exit(1); } } if (argumentcounter==3) // Quellename ungleich Zielname { pDatei = fopen(argumentvariable[1],"rb"); if(pDatei == NULL) { printf("Fehler beim Oeffnen der Quell-Datei!\n"); printf("Programm beendet.\n"); //getch(); exit(1); } pZiel = fopen(argumentvariable[2], "wb"); if(pZiel == NULL) { printf("Fehler beim Oeffnen der Ziel-Datei!\n"); printf("Programm beendet.\n"); fclose(pDatei); //getch(); exit(1); } } fseek(pDatei,0,SEEK_END); size=ftell(pDatei); while (size>=0) { if(fread (&zeichen,1,1,pDatei)) fwrite (&zeichen,1,1,pZiel); size--; fseek(pDatei,size,SEEK_SET); } fclose(pZiel); fclose(pDatei); printf("Programm erfolgreich beendet.\n"); //getch(); return 0; }







Zitieren

Lesezeichen