|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
07-07-2004, 11.39.29 | #1 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
file e C
grazie...
___________________________________
...ad ogni alba sorgerà il tuo profumo |
07-07-2004, 11.51.49 | #2 |
Made in Japan
Top Poster
Registrato: 04-07-2001
Messaggi: 4.461
|
Cosa intendi fare?
Vuoi solo sapere se esiste, oppure vuoi fare in modo che se già esiste non venga sovrascritto? |
07-07-2004, 11.54.15 | #3 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
se esistente non deve essere possibile sovrascriverlo...
ho risolto provando ad aprirlo in lettura e se ci riesco, richiedo ancora il nome del file... (senza scrivergli sopra) ci sono altri modi?
___________________________________
...ad ogni alba sorgerà il tuo profumo |
07-07-2004, 11.56.53 | #4 |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
Si .. questo era un modo .. altro modo era utilizzare la chiamata di sistema "stat()"
http://www.scit.wlv.ac.uk/~jphb/spos...stat.html#stat Bye |
07-07-2004, 11.57.08 | #5 |
Made in Japan
Top Poster
Registrato: 04-07-2001
Messaggi: 4.461
|
Si, la struttura di fopen è questa:
FILE *fopen( const char *filename, const char *mode ); il primo parametro è il nome del file, il secondo è il modo di accesso, se specifichi a+ il file può essere letto e scritto, ma la scrittura avviene solo a iniziare dalla fine del file. Se il file non esiste viene creato. |
07-07-2004, 12.09.31 | #6 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
grazie ragazzi...
___________________________________
...ad ogni alba sorgerà il tuo profumo |
07-07-2004, 12.37.49 | #7 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
tutto ok... solo una cosa non riesco a controllare...
se il nome del file inserito dall'utente contiene caratteri non validi, il file non viene creato, come posso intercettare questo errore? magari evitando lo switch dei caratteri inseriti o il controllo uno ad uno dell'array di caratteri...
___________________________________
...ad ogni alba sorgerà il tuo profumo |
07-07-2004, 12.44.59 | #8 |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
Queste funzioni possono essere monitorate molto più approfonditamente .. rispetto al semplice controllo del return != NULL, esse valorizzano "errno()" secondo una delle costanti predefinite nell'header <errno.h>, una di queste costanti può fare al caso tuo per verificare che la modalità di apertura del file non sia errata.
Bye |
07-07-2004, 12.45.36 | #9 |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
|
07-07-2004, 12.59.59 | #10 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
per provare ho sostituito:
Codice:
while((ptrFile = fopen(nomeFile,"r")) != NULL){ con while((ptrFile = fopen(nomeFile,"r")) == EEXIST){
___________________________________
...ad ogni alba sorgerà il tuo profumo |
07-07-2004, 15.16.23 | #11 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
cosa vuol dire?
Codice:
The ISO C standard only requires the symbols [EDOM], [EILSEQ], and [ERANGE] to be defined.
___________________________________
...ad ogni alba sorgerà il tuo profumo |
08-07-2004, 08.58.51 | #12 | |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
Quota:
Un puntatore può contenere un indirizzo di memoria oppure NULL e non può avere altro valore .. quindi la condizione del while non è mai soddisfatta causando un ciclo infinito. Devi leggere "errno()" che viene valorizzata a seconda delle costanti elencate .. è qui che le funzioni "depositano" il loro risultato ed errno() ti permette di leggerlo Codice:
if((ptrFile = fopen(nomeFile,"w")) != NULL) { if(errno() == EEXIST) { printf("File già esistente"); } } se il file viene aperto per lettura è già implicito che esista, altrimenti ptfFile avrebbe il valore NULL ed errno sarebbe valorizzata come ENOENT (se non ricordo male)... Bye Ultima modifica di P8257 WebMaster : 08-07-2004 alle ore 10.00.13 |
|
08-07-2004, 09.02.42 | #13 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
grazie...
ma, posso sapere dove avete imparato tutte queste cose? internet, libri e lavoro? ciao Ns-1
___________________________________
...ad ogni alba sorgerà il tuo profumo |
08-07-2004, 09.03.12 | #14 | |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
Quota:
Bye |
|
08-07-2004, 09.04.59 | #15 | |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
Quota:
Bye |
|
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Risposte | Ultimo messaggio |
Windows security alert | imothep | Sicurezza&Privacy | 19 | 07-10-2007 14.58.43 |
[XP] Problemi struttura file | roby89 | Windows 7/Vista/XP/ 2003 | 0 | 28-08-2006 19.06.35 |
Uno strano file word | Cecco | Sicurezza&Privacy | 44 | 05-04-2006 17.45.05 |
[Windows XP] Problemi con il masterizzatore DVD | Qgino | Hardware e Overclock | 13 | 16-10-2005 20.11.45 |
problema con file .doc rovinato in office xp 2003...poi risolto... | cippico | Office suite | 0 | 30-04-2004 09.12.07 |