|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2008
Messaggi: 412
|
[c] problemi con file temporanei
Non capisco come mai non riesco ad aprire un file temporaneo creato in questo modo:
Codice:
FILE *p; if((p=fopen(tmpnam(NULL),"w")) == NULL){ puts("errore di apertura file"); exit(1); } |
![]() |
![]() |
![]() |
#2 |
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Ho dato un'occhiata alla guida in linea di tmpnam su Linux.
tmpnam restituisce sì un nome per un file temporaneo. Il percorso completo del file, però, comprende una cartella predefinita, sulla quale potresti non avere permesso di scrittura (anche se mi pare strano). Il nome della cartella predefinita è contenuta in una costante macro P_tmpdir definita in stdio.h. Oltretutto, quando ho compilato un esempio di prova, gcc mi ha dato un avviso "l'uso di tmpnam è pericoloso, meglio usare mkstemp". Però mkstemp non è una funzione C standard...
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: May 2008
Messaggi: 412
|
Grazie Ziosilvio ma anche stavolta non ho specificato che utilizzo un sistema windows vista, che dici va bene anche su di esso il tuo consiglio?
|
![]() |
![]() |
![]() |
#4 | |
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Quote:
Per quanto riguarda l'uso di una funzione diversa, devi consultare il manuale del tuo compilatore, perché non so se mkstemp esiste anche da te.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:52.