Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-03-2013, 12: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, 12: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, 15: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, 15: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, 16: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, 16: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, 17: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, 17: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, 19: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, 19: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, 20: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, 10: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, 10: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


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Dopo 23 anni di silenzio, Warcraft 3 spi...
Roblox sfida l'ecosistema gaming: app st...
OpenAI accusata di plagio dai migliori m...
Altro attacco hacker dell'IA: gli agenti...
Stiamo davvero perdendo il controllo del...
Microsoft perde un pilastro: Frank Shaw ...
Diablo V annunciato a sorpresa: il colpo...
Meno di 5 euro per il 5G: l'offerta Kena...
World of Warcraft: Forever è il Classic+...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
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: 19:50.


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