¿Cómo puedo eliminar un archivo señalado por un ARCHIVO * en C?

#include<stdio.h>

int main() {

    FILE* fp;
    fp = fopen("temp.txt", "w");
    fprintf(fp, "Hello, World!\n");

    // remove("temp.txt");  this requires the filename as an argument
    // removefile(fp);      <--- is something like this possible?

    return 0;
}

La función remove (definido en stdio.h) toma el nombre del archivo como parámetro, pero no el puntero del archivo en sí.

¿Hay alguna función en las bibliotecas estándar de C que elimine archivos y tome el puntero de archivo como argumento?

Respuestas a la pregunta(4)

Su respuesta a la pregunta