Perchè non rinomina il file?

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
FILE *miofile;
miofile=fopen("Documento","w");

rename("Documento","prova");

if(rename("Documento","prova")==0){
printf("O perazione eseguita correttamente\n");
} else {
printf("Errore\n");
}




fclose(miofile);

system("PAUSE");
return 0;

l'operazione non è stata eseguita correttamente, quindi mi stampa Errore, ma perchè non è stata eseguita correttamente?