Eliminar una línea de un archivo en lenguaje C

Quiero eliminar ciertas líneas en un archivo e insertar ciertas líneas en el mismo archivo según si ciertas partes de la línea coinciden con una cadena específica. ¿Hay alguna forma de hacerlo sin utilizar un archivo temporal para copiar el contenido, etc.?