Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-03-2013, 13:03   #1
pocho183
Junior Member
 
Iscritto dal: Mar 2013
Messaggi: 23
Visual studio rename e remove

Ho problemi con il rename e il remove, non funzionano posto il codice:

Codice:
   while(remove("ElencoTelefonico.txt") == -1){
                       printf("\nErrore remove\n");
                       chiusuraServer();
                       }


                        /* Rinomino il file "temp.txt" */

                    while(rename("temp.txt", "ElencoTelefonico.txt") == -1){
                                    printf("\nErrore rename\n");
                                    chiusuraServer();
                              }
pocho183 è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2013, 13:50   #2
pocho183
Junior Member
 
Iscritto dal: Mar 2013
Messaggi: 23
Quote:
Originariamente inviato da pocho183 Guarda i messaggi
Ho problemi con il rename e il remove, non funzionano posto il codice:

Codice:
   while(remove("ElencoTelefonico.txt") == -1){
                       printf("\nErrore remove\n");
                       chiusuraServer();
                       }


                        /* Rinomino il file "temp.txt" */

                    while(rename("temp.txt", "ElencoTelefonico.txt") == -1){
                                    printf("\nErrore rename\n");
                                    chiusuraServer();
                              }

prima chiudo i file, puo darsi che è Windows 8 che non mi permette di farlo?
pocho183 è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2013, 16:03   #3
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da pocho183 Guarda i messaggi
Ho problemi con il rename e il remove, non funzionano posto il codice:

Codice:
   while(remove("ElencoTelefonico.txt") == -1){
                       printf("\nErrore remove\n");
                       chiusuraServer();
                       }


                        /* Rinomino il file "temp.txt" */

                    while(rename("temp.txt", "ElencoTelefonico.txt") == -1){
                                    printf("\nErrore rename\n");
                                    chiusuraServer();
                              }
Il codice che hai scritto funziona solo se il file ElencoTelefonico.txt si trova nella stessa cartella dell'eseguibile.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2013, 16:56   #4
pocho183
Junior Member
 
Iscritto dal: Mar 2013
Messaggi: 23
Si è nella stessa cartella dell'eseguibile, comunque prima faccio una scrittura e funziona correttamente, quindi il file viene aperto poi chiudo e non cancella. ho provato anche con system ("del ElencoTeleonico") e mi dice che il file è in esecuzione ed è impossibile aprirlo.


stessa cosa per rename
pocho183 è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2013, 17:14   #5
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
Premesso che Visual Studio è un IDE (e quindi nel titolo dovresti inserire Visual C++), il codice funziona regolarmente, ovviamente, a patto che nella stessa cartella esistano i due file ElencoTelefonico.txt e temp.txt e siano tutti e due chiusi.

Per completezza, mostra anche il codice che precede questo ... quello in cui apri e, soprattutto, chiudi i due file.
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2013, 17:43   #6
pocho183
Junior Member
 
Iscritto dal: Mar 2013
Messaggi: 23
Codice:
int cancellaRecord(Record record){
        Record recordTemp;

        /* Resetto i valori della struct recordTemp */

        memset(recordTemp.nome, 0, sizeof(recordTemp.nome));
        memset(recordTemp.cognome, 0, sizeof(recordTemp.cognome));
        memset(recordTemp.numeroTelefono, 0, sizeof(recordTemp.numeroTelefono));        
        FILE *temp;

        /* Apertura dell'archivio "ElencoTelefonico.txt" */

        if(( ElencoTelefonico = fopen("ElencoTelefonico.txt", "r")) == NULL){
                printf("\nNon è possibile aprire l'elenco telefonico, verificare la consistenza dell'archivio\n");
                chiusuraServer();
        }
        else{
                /* Apertura di un file temporaneo nel quale copiare l'archivio */

                if(( temp = fopen("temp.txt", "w")) == NULL){
                        printf("\nImpossibile creare file temporaneo...\n\n");
                        chiusuraServer();
                }
                else{
                        /* Copio tutti i record dell'archivio escludendone quello da eliminare */

                        while(fscanf(ElencoTelefonico, "%s %s %s", recordTemp.nome, recordTemp.cognome, recordTemp.numeroTelefono) == -1){
                                        printf("\nErrore fscanf\n");
                                        chiusuraServer();
                                }

                        while(!feof(ElencoTelefonico)){
                               if((strcmp(record.nome, recordTemp.nome) != 0) && (strcmp(record.cognome, recordTemp.cognome) != 0)!=1){
                                         while(fscanf(ElencoTelefonico, "%s %s %s", recordTemp.nome, recordTemp.cognome, recordTemp.numeroTelefono) == -1){         
										 printf("\nErrore fscanf\n");
                                         chiusuraServer();
                                                }
									       }
                                else{
                                        fprintf( temp, "%s %s %s\n", recordTemp.nome, recordTemp.cognome, recordTemp.numeroTelefono);
                                        while(fscanf(ElencoTelefonico, "%s %s %s", recordTemp.nome, recordTemp.cognome, recordTemp.numeroTelefono) != -1){    
											printf("1");
											printf("\nErrore fscanf\n");
                                            chiusuraServer();
                                                }
                                      }
                                }               


                        /* Chiusura dei file */

                        while(fclose(ElencoTelefonico) != 0){
                                        printf("\nErrore fclose\n");
                                        chiusuraServer();
                                }
                        
                        while(fclose(temp) != 0){
                                        printf("\nErrore fclose\n");
                                        chiusuraServer();
                                }
                        

                    /* Eliminazione del file ElencoTelefonico.txt */

                       while(remove("ElencoTelefonico.txt") == -1){
                       printf("\nErrore remove\n");
                       chiusuraServer();
                       }


                        /* Rinomino il file "temp.txt" */

                    while(rename("temp.txt", "ElencoTelefonico.txt") == -1){
                                    printf("\nErrore rename\n");
                                    chiusuraServer();
                              }
				}

		     return 1;

		}

		return -1;
}
pocho183 è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2013, 18:04   #7
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
Premesso che il codice che hai scritto è veramente strano (con tutti quei while essenzialmente inutili), comunque c'è un

== -1){

al posto di un

!= -1){

in una linea ...
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2013, 18:20   #8
pocho183
Junior Member
 
Iscritto dal: Mar 2013
Messaggi: 23
conclude ma non cancella
pocho183 è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2013, 20:51   #9
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
Quote:
Originariamente inviato da pocho183 Guarda i messaggi
conclude ma non cancella
Che vuol dire "conclude" ?
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2013, 20:57   #10
pocho183
Junior Member
 
Iscritto dal: Mar 2013
Messaggi: 23
mi dice che cancella , ma non cancella
pocho183 è offline   Rispondi citando il messaggio o parte di esso
Old 16-03-2013, 21:37   #11
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
A me funziona ... ho provato con un codice più semplice, senza tutte quelle while ma con delle semplici if e lavora correttamente.
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2013, 11:22   #12
pocho183
Junior Member
 
Iscritto dal: Mar 2013
Messaggi: 23
con quale sistema operativo le stai provando?
pocho183 è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2013, 11:28   #13
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
Non è importante ... comunque XP ... ti ripeto, un codice diverso dal tuo, senza tutte quelle while ...
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
Il regista Rian Johnson lancia a 12,99 d...
Microsoft stravolge l'app Sicurezza di W...
Mercato smartphone in caduta libera: -20...
Android 17 QPR3 Beta 3 riporta il blocco...
Le 10 offerte TOP in Amazon del weekend:...
Dyson, doppio crollo su Amazon: purifica...
Il 70% delle imprese non vede effetti de...
HillMiles MileCity1 a 616€: la city e-bi...
GAC Aion UT, prima prova: tanta roba a 2...
vivo X300 Pro a 979€: il top di gamma co...
AGIBOT fa ballare 110 Expedition A3 per ...
iPad A16 da 11'' scende a 459€ in tutti ...
Mac mini M6 crolla a 899€ (-180€ rispett...
Galaxy S27, la ricarica resta a 25W: lo ...
Claude Code, backdoor SSH: secondo Curso...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:06.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v