Ciao e bentornato.
In questa conferenza, voglio farlo parlare della scrittura su un file.
Ci concentreremo durante la scrittura su un file di testo.
Cosa impareremo è come puoi scrivere caratteri, come puoi scrivere
stringhe e come puoi scrivere output formattato.
I tre modi anche quello siamo stati in grado di leggere.
Quindi ci sono tre funzioni che devi davvero
avere familiarità per fare queste cose.
L'operazione di scrittura più semplice è fornito nella funzione fputc.
Quindi proprio come se ci fosse un fgetc per leggere i caratteri,
c'è un fputc per scrivere i caratteri.
Questo scriverà un singolo carattere in un file di testo, fputc.
Non efficiente come scrivere stringhe, ma a volte è necessario.
Prende un numero intero come suo primo parametro e un puntatore a file
come secondo parametro e restituisce un numero intero.
La funzione scrive il file carattere
specificato dal primo argomento del file identificato dal secondo argomento.
Quindi il puntatore del file rappresenta cosa fa sempre: il file su
cui vuoi scrivere.
E poi il personaggio tu in realtà vuoi scrivere
è il tuo primo parametro.
Il carattere restituito è cosa è stato scritto in caso di successo.
Ricorda, se restituisce eof, significa che è stato un fallimento.
Se restituisce qualcosa di diverso da eof, significa che è stato un successo.
In pratica, i personaggi lo sono di solito non vengono scritti uno
per uno su un file fisico.
È estremamente inefficiente.
La funzione putc è la equivalente a fputc.
Vedi spesso anche questo usato.
Richiede gli stessi argomenti e il tipo restituito è lo stesso.
La differenza tra loro è che il putc può essere implementato
nella libreria standard come una macro.
Considerando che fputc è una funzione così.
Non un sacco di differenze, ma non abbiamo imparato a conoscere le macro.
Quindi continueremo con fputc per scrivere singoli caratteri.
E per esempio, lo è abbastanza diretto.
La prima cosa che devi fare come sempre devi aprire il file.
Prima di ciò dichiariamo il nostro variabili, dichiariamo un puntatore a file, dovrebbe
essere inizializzato il null.
E poi il nostro numero intero quale stiamo per scrivere.
Quando apriremo il nostro file, tu nota che facciamo un w o un w plus.
W significa che lo faremo scrivi solo, non puoi leggere.
W plus significa che puoi scrivere e leggere.
In questo caso possiamo scrivere e leggere.
Qui abbiamo un ciclo for.
Stiamo esaminando tutti i file caratteri che iniziano da 33 a 100.
Quando questi sono numeri interi, cosa questo significa che il carattere
è rappresentato nella tabella ASCII.
Quindi se scrivi carattere, ad esempio 59, dovresti cercarlo nella tabella ASCII
per vedere cosa rappresenta, ma sarebbe un personaggio reale.
Qui stiamo solo scrivendo I valori ASCII da 33 a 100
e stiamo dicendo fputc char fp.
E potresti usare la conversione funzioni se si desidera
creare valori ASCII e numeri interi, puoi semplicemente usare un atoi.
Quindi, se volessi scrivere il file carattere c, potresti dire fputc atoi e
poi mettere c tra virgolette singole.
Anche quello andrebbe bene perché convertirà l'ASCII in un
numero intero e lo scriverà.
Ma il primo argomento è un numero intero, quindi devi scrivere un numero intero.
Il secondo argomento è il nostro file pointer, abbastanza semplice lì.
E poi l'ultima cosa che dobbiamo fare dobbiamo chiudere quel file.
Probabilmente lo vogliamo anche noi imposta il puntatore fp su null.
Ma ancora una volta, ci vuole un numero intero.
Quindi stai attento lì.
È sempre rappresentato nella tabella ASCII.
Ma puoi convertire l'effettivo caratteri due numeri interi utilizzando atoi.
Che ne dici di scrivere una stringa in un file
di testo, molto più utile, più efficiente.
Qui è dove usi la funzione fputs.
Questo ti permetterà di farlo scrivere su qualsiasi file o flusso.
È simile agli fgets, it accetta una stringa di addebito costante che si
desidera scrivere come primo parametro al puntatore.
E ci vuole un, come il nostro secondo parametro, il puntatore del file, su
quale file si desidera scrivere.
E poi restituisce un int.
Quindi il primo argomento è il nostro puntare la stringa di caratteri
che si desidera scrivere.
Il secondo argomento è il file il puntatore stesso e la funzione scriverà
i caratteri da una stringa finché non raggiunge il terminatore nullo.
Non scrive il null carattere di terminazione nel file,
quindi devi scriverlo esplicitamente.
Questo può complicare le cose perché quando rileggi i
dati, potrebbe essere di lunghezza variabile e non finirà con il terminatore nullo.
Quindi devi ... Aspettarti che scriva
un file riga di testo che ha un nuovo carattere
di riga alla fine.
Quindi assicurati di esserti familiare con il
terminatore null e scriverlo esplicitamente usando fputc, un singolo carattere o scriverlo e fondamentalmente aggiungerà il nuovo
carattere di riga alla fine dopo averlo scritto.
Quindi si aspetta quella novità carattere di linea per essere lì.
Devi specificarlo esplicitamente.
Questo è piuttosto semplice in termini di codice.
Dici solo fopen.
Fputs, scrive una stringa nel file nuova riga utilizzando il puntatore del file.
E poi un altro fput qui scrive un'altra stringa e poi la chiudi.
Quindi in questo caso, ne abbiamo scritti due stringhe, due righe di codice effettivamente o due righe
nel file e noi ha aperto il file con w plus che è per la
lettura e la scrittura.
Gli esempi di scrittura sono abbastanza diretto.
Chiami solo un paio di funzioni, fopen e poi fputs e poi fclose.
Ora per scrivere output formattato, useremo fprintf.
Di nuovo, lo noterai con lo scanf da leggere e
inserire e il printf, basta aggiungerlo fprefix prima della funzione e
stai scrivendo un output formattato.
Quindi per scrivere output formattato con fprintf, restituisce un numero intero.
Richiede un flusso di file come vengono seguiti
il primo parametro e quindi gli specificatori di formato da virgole con numero variabile di
argomenti per ogni formato specificatore proprio come printf in realtà.
Il primo argomento della funzione è il puntatore all'oggetto file.
E poi il secondo argomento è quel numero variabile di argomenti.
È una stringa C che ne contiene uno o più dei
seguenti elementi, carattere di spazio bianco, uno spazio diverso da quello carattere, specificatori di formato.
E ancora, è molto simile a printf.
Ma in realtà stai scrivendo su un file.
Quindi puoi scrivere formattato output in un file.
Se ha successo, tornerà il numero di caratteri scritti.
Altrimenti, succederà restituisce un numero negativo
se non riesce.
Sembra qualcosa di simile.
Includete l'intestazione IO standard.
Crei il tuo puntatore di file.
Quindi si utilizza il puntatore del file per aprire un file di testo, usalo per
w plus per leggere e scrivere e poi dici solo fprintf.
In questo caso, stiamo dicendo fprintf.
Stiamo specificando il file puntatore e quindi stiamo specificando quattro stringhe
separate da un spazio e poi una percentuale d.
E stiamo scrivendo ciao il mio numero è 555.
Quindi il file avrà effettivamente i dati formattati quando li scrivi.
Diamo un'occhiata a questo nei blocchi di codice e guarda che aspetto ha.
Quindi non c'è molto codice qui.
Abbiamo solo poche righe di codice.
Sulla linea quattro, siamo creando il nostro puntatore di file.
E ancora, lo vorremo inizializzalo su null.
Quindi, nella riga sei, chiamiamo fopen.
E diciamo file aperto. txt, in modo che file. txt deve esistere e
dove è in esecuzione il file sorgente c o se stai
eseguendo il programma manualmente ovunque si trovi l'eseguibile.
Stiamo per aprirci per leggere e scrivere.
Dopo averlo aperto, vogliamo assicurarci che il puntatore del
file non sia nullo.
Quindi vogliamo dire non fp.
Se non è nullo, allora noi può iniziare a scrivere dati.
E in questo caso, sulla linea 9, siamo andando a scrivere dati formattati.
Quindi quello che scriveremo è scriveremo una stringa, due stringhe tre
stringhe, quattro stringa e quindi un numero intero.
E poi i prossimi parametri sono solo stringhe separate da virgole
e il nostro numero intero alla fine.
Devo solo aggiustare questi doppi cita perché non funziona bene, quindi 555 è
proprio alla fine lì.
E poi si chiuderà il file e restituirlo.
Quindi andiamo avanti e proviamo a costruire questo ed eseguirlo e non vedremo alcun
output reale per l'esecuzione.
Dobbiamo guardare a come appare il file.
Quindi, quando compiliamo questo file, vuoi assicurarti che la tua
istruzione if dica non uguale a null.
Quindi quando eseguiamo questo, di nuovo, non vedrai
alcun output, verrà eseguito.
E poi quando guardi il file all'interno della directory, vedrai
che contiene l'input in un unico file linea, ciao mi chiamo fpp o 555.
Quindi è così che puoi scrivere output formattato.
È abbastanza semplice.
Potresti aggiungerne di nuovi linee se lo desideri.
Aggiungerà una nuova riga alla fine, ma potresti mettere la barra rovesciata n qui.
Funziona proprio come printf.
Di nuovo, dobbiamo eseguirlo, noi non vedo davvero alcun output interessante finché
non guardi il file.
In tal caso, viene visualizzato un avanzamento riga.
Quindi scrivere l'output su un file è abbastanza semplice.
Vuoi scrivere personaggi, tu
fai fputc, vuoi scrivere stringhe fputs, output formattato fprintf.
Avremo alcune sfide che aiutarti a familiarizzare
ancora con questo, ma è abbastanza facile scrive l'output in un file di testo.
Grazie.