Ciao a tutti, ho fatto una piccola funzione per rinominare un file, se presa singolarmente funziona, ma qquando la metto qui in questo programmino non funziona, mi dice "Si è verificato un errore nella rinomina di....", come mai?
codice:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void menu(void);
void ren(void);
int scelta;
int main()
{
char v_nome[80], n_nome[80];
struct tm *ptr;
time_t lt;
lt=time(NULL);
ptr=localtime(<);
printf("\n\n");
printf(asctime(ptr));
while(scelta!=9) {
menu();
switch(scelta) {
case 1:
printf("\nOperazione 1");
system("cls");
break;
.................
case 4:
ren();
break;
case 5:
printf("dsfsd");
system("cls");
............
default:
printf("\nOperazione non valida\n");
system("pause");
system("cls");
break;
}
}
return 0;
}
void menu(void) {
printf("\n+-------------------+\n");
printf("| Stupid Editor 0.1 |\n");
printf("+-------------------+\n");
printf("\n1- Crea nuovo file");
printf("\n2- Leggi file esistente");
printf("\n3- Unisci due file");
printf("\n4- Rinomina file");
printf("\n5- Elimina file");
printf("\n6- Cambia modi del file");
printf("\n7- Credit");
printf("\n0- Termina programma");
printf("\n\n");
printf("Scegli operazione da compiere: ");
scanf("%d", &scelta);
}
void ren(void) {
printf("Inserire il nome attuale del file: ");
gets(v_nome);
printf("Inserire il nuovo nome del file: ");
gets(n_nome);
if(rename(v_nome, n_nome)==0)
printf("%s è stato rinominato %s\n", v_nome, n_nome);
else
fprintf(stderr, "Si è verificato un errore nella rinomina di %s\n", v_nome);
}