... 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; 
}