Come creare un file di testo utilizzando C ++

June 1

Come creare un file di testo utilizzando C ++


La creazione di file di testo in C ++ codice di programmazione è fondamentale per molte applicazioni. Potrebbe essere necessario costruire funzioni utili nel vostro programma di C ++, come il salvataggio delle impostazioni in un file di inizializzazione, la scrittura dei dati in un file di testo delimitato da virgole, o la conversione da un formato binario al testo. File di input / output (\ "I / O \") viene gestito utilizzando \ del ++ standard libreria C "fstream \" di classe. Utilizzando fstream è simile ad usare il \ "iostream \" I / O standard di classe si sono probabilmente familiarità con l'utilizzo. Infatti, entrambi sono derivati ​​dalle stesse classi genitore.

istruzione

1 Aggiungere le seguenti righe al \ "include \" del file di intestazione per la classe che scriverà il file di testo:

includere <fstream> includere <iostream>

using namespace std
ANDARE

\ "Fstream \" è il file di I / O classe Stream. \ "Iostream \" è lo standard di I / O di classe, usato per scrivere i messaggi sullo schermo. \ "Using namespace std \" permette di utilizzare queste due classi della libreria standard, senza la \ fastidioso "std :: \" il prefisso su membri della classe.

2 Dichiarare una variabile di tipo \ sezione variabile membro privato "ofstream \" (flusso di file di output) nella classe '(o nella funzione che scrive il file di testo):

FileOut ofstream;

3 Aprire il file, passando il percorso e il nome file come parametro, nella tua classe 'costruttore (o la funzione che scrive il file di testo):

fileout.open (\ "/ tmp / output.txt \")
ANDARE

La modalità predefinita di \ "\ aperto" è quello di aprire un flusso di file di testo. Se si omette il percorso, il file verrà scritto nella directory di lavoro corrente. Se il file non esiste, verrà creata. Se lo fa, sarà sovrascritto. La modalità può essere impostato come un parametro opzionale per \ "aperto. \". Ad esempio, la seguente chiamata si apre un file nella directory di lavoro corrente, e aggiunge ad essa, invece di sovrascrittura:

fileout.open (\ "output.txt \", fstream :: app);

4 Avviare un se-blocco nella funzione che scrive il file di testo. È importante controllare che il file è stato aperto. Utilizzare fstream '\ funzione "is_open \" per il controllo:

if (fileout.is_open ()) {

L'open fallirà se non si ha il permesso di scrittura alla directory, oppure il disco è pieno o danneggiato.

5 Scrivere sul file utilizzando del fstream << \ "messo a \" operatore dopo la \ "se. \" Per esempio, la seguente scrive una riga di testo seguita dal valore assegnato alla variabile \ "un \".

fileout &lt;&lt; \&quot;This is a text file.\\n\&quot;

ANDARE

fileout &lt;&lt; a &lt;&lt; \&quot;\\n\&quot; ;

6 Terminare la \ "se \" e aggiungere un \ "altro \" per stampare un messaggio di errore se il file aperto non è riuscita:

}
altro {

cout &lt;&lt; \&quot;Error: Unable to open output file\&quot;

ANDARE
}

7 Chiudere il file quando si è fatto scrivendo ad esso. Se si apre il file in una funzione, chiuderlo prima di uscire quella funzione. Se si apre il file nel costruttore della classe, chiudere il file nel distruttore. Controllare per accertarsi che il file è aperto prima di tentare di chiuderlo:

if (fileout.is_open ()) {

fileout.close()

ANDARE
}

Consigli e avvertenze

  • flussi di file di testo possono essere formattati, proprio come uscita iostream, utilizzando il iomanip (manipolatori di I / O) di classe. Fare riferimento alla \ "Manipolatori \" pagina collegata nella sezione risorse per un elenco di manipolatori flusso è possibile utilizzare per formattare i numeri, set giustificazione e tagliare gli spazi bianchi.