Ciao a tutti!
Avrei una domanda riguardante i file nel linguaggio C++, anche se in realtà avevo questo dubbio anche in C.
Come potrei fare per aprire un file che si trova in una specifica cartella, ma di cui voglio che l'utente specifichi il NOME ( in modo che se l'utente dovesse inserire il nome di un file che non si trova in quella cartella esca un messaggio di errore) ?
Se si trattasse di aprire un file in una cartella, metterei l'indirizzo della directory, etc...
Ma come faccio a scrivere che il nome del file deve arrivare da tastiera?
C++ nome file da tastiera
Moderatori:
Paolino,
fairyvilje
4 messaggi
• Pagina 1 di 1
1
voti
Devi passare gli argomenti al main:
argc è il numero di argomenti e argv è un puntatore di array che contiene gli argomenti passati.
Riconosci l'argomento e lo usi con la funzione per aprire il file.
fopen (C) : http://www.cplusplus.com/reference/cstdio/fopen/
ifstream (C++) : http://www.cplusplus.com/reference/fstr ... /ifstream/
- Codice: Seleziona tutto
int main (int argc, char *argv[])
{
...
}
argc è il numero di argomenti e argv è un puntatore di array che contiene gli argomenti passati.
Riconosci l'argomento e lo usi con la funzione per aprire il file.
fopen (C) : http://www.cplusplus.com/reference/cstdio/fopen/
ifstream (C++) : http://www.cplusplus.com/reference/fstr ... /ifstream/
1
voti
Quando apri il file devi spefificare la directory (il nome cartella è nato in certi sistemi operativi con la mela) nel path, ad esempio "nome_directory/file.txt" usando un carattere di separazione tra directory e nome del file. Il carattere di separazione è '/' (slash), nei sistemi operativi MS-DOS e MS-Windows usano il carattere '\' (backslash) il quale coincide con il carattere di escape usato dal C e C++, quindi se si usa nome separatore bisogna specificarne 2 di seguito "\\" ma in questo caso il programma funziona solo nei sistemi operativi della Microsoft. L'uso del carattere '/' (slash) funziona invece su tutti i sistemi Posix (come Linux o MacOSC) e anche della Microsoft.
Se si usa la funzione di libreria "fopen" del C per aprire il file, ritorna NULL se il file manca o non si ha il diritto di accesso al file, come descritto nella documentazione:
http://www.manpagez.com/man/3/fopen/
Se si usa iostream del C++ l'errore viene comunico via eccezione se abiliato o attraverso operatatore boolean:
http://www.cplusplus.com/reference/fstr ... ream/open/
Se si usa la funzione di libreria "fopen" del C per aprire il file, ritorna NULL se il file manca o non si ha il diritto di accesso al file, come descritto nella documentazione:
http://www.manpagez.com/man/3/fopen/
Se si usa iostream del C++ l'errore viene comunico via eccezione se abiliato o attraverso operatatore boolean:
http://www.cplusplus.com/reference/fstr ... ream/open/
4 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 44 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)



