PDA

Visualizza la versione completa : [C] Rinominare un file


Tan_Shla
06-02-2012, 22:15
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?

ramy89
06-02-2012, 23:33
Perchè tu prima di rinominarlo lo apri in scrittura.
Il sistema operativo dice ma come , me lo rinomini mentre ci sto scrivendo? :D
Risolvi semplicemente togliendo la fopen o chiudendo il file prima di rinominarlo.

Tan_Shla
06-02-2012, 23:45
Originariamente inviato da ramy89
Perchè tu prima di rinominarlo lo apri in scrittura.
Il sistema operativo dice ma come , me lo rinomini mentre ci sto scrivendo? :D
Risolvi semplicemente togliendo la fopen o chiudendo il file prima di rinominarlo.



mmmm stampa errore lo stesso :(

ramy89
06-02-2012, 23:52
E il file "Documento" esiste ed è nella directory dove c'è il tuo programma?

MacApp
06-02-2012, 23:54
stai chiamando due volte la funzione "rename".

Tan_Shla
07-02-2012, 00:17
Si l'ho creato prima....
ma sempre i file su cui voglio operare devono essere sulla directory del programma?
E possono essere anche documenti word?

MacApp
07-02-2012, 00:32
http://www.cplusplus.com/reference/clibrary/cstdio/rename/
http://it.wikipedia.org/wiki/Percorso

ramy89
07-02-2012, 02:42
Sisi, possono essere di qualsiasi formato dato che in memoria sono rappresentati in binario.

Loading