Per evidenziare la sostituzione dei caratteri, ecco la funzione modificata

codice:
void raddoppiaInFile (FILE *file, char c)
{
	int car;

	while((car=fgetc(file))!=EOF)
		if(car==c) 
		{
			fseek(file, 0, SEEK_CUR); 
			fputc(car, file);
			fseek(file, 0, SEEK_CUR); 
		}
}
Per risolvere il tuo problema, quello di aggiungere dati "tra" quelli gia' esistenti, devi creare un nuovo file leggendo da quello vecchio e, alla fine, eliminare il vecchio ...