Ciao , ho un piccolo problema :

Ho il seguente codice

codice:
#include <stdio.h>
#include <errno.h>
#include <string.h>

int main () 
	{
		int aFCloseResult = 0;
		int aChar = 0;
		FILE * fp = fopen("clear_file.cpp","r");
		int retValue = 0;
		if(NULL != fp){
			while (EOF != (aChar = fgetc (fp))){
					printf ("%c", aChar);
			}   
		 	aFCloseResult = fclose(fp);
		 	fp = NULL;
		}
		else{	
			printf ("Error: %d; %s;\n", errno, strerror (errno));
			retValue = 1; 
		}
 		return retValue;
	}

ora vorrei che appena il ciclo while trova la sequenza di caratteri "<%xml" cancellasse tutto il contenuto fin ora letto e lasciasse sul file solo quello che segue incluso la stringa identificata

ES/

file.tar

bla bla bla cjewiofjcv fnmrifjero <%xml blaa cnwuerfhriufh ...

il programma dovrebbe cancellare "bla bla bla cjewiofjcv fnmrifjero " e lasciare "<%xml blaa cnwuerfhriufh ... "

Grazie a chiunque voglia darmi una mano