Manejo de archivos en C: eliminación de palabras específicas de una lista en un archivo de texto

Estoy completando un breve diccionario de mi programa básico de C usando el siguiente código:

void main () {

FILE *fp;

fp = fopen("c:\\CTEMP\\Dictionary2.txt", "w+"); 

fprintf(fp, Word to Dictionary");

Sin embargo, también me gustaría eliminar ciertas palabras que ya no deseo que aparezcan en el diccionario. Investigué un poco y sé que

"No se puede eliminar contenido de un archivo y el contenido restante se desplaza hacia abajo. Solo se puede agregar, truncar o sobrescribir.

Su mejor opción es leer el archivo en la memoria, procesarlo en la memoria y luego volver a escribirlo en el disco "

¿Cómo puedo crear un nuevo archivo sin la palabra que quiero eliminar?

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta