Ciao e bentornato.
In questa conferenza, voglio fornire una dimostrazione della nostra prima
sfida per la lettura da un file.
Conteremo il numero di righe all'interno di un file utilizzando fgetc.
Quindi visualizziamo i blocchi di codice, e creiamo il nostro progetto.
Qui, stiamo solo per dire nuovo progetto,
e sarà un allineamento di lettura di base.
Quindi dì selezione dell'applicazione console c, e chiameremo questo numero di righe di base o di
conteggio come circa il conteggio del numero di righe.
E quindi questo creerà il nostro principale. c che è buono.
Prima ancora di avviare questa applicazione tuttavia, vogliamo creare effettivamente il nostro
file contenente del testo.
Dal momento che non stiamo scrivendo, siamo solo leggendo il numero di righe.
Quindi devi sapere dove hai salvato il tuo progetto.
Sto salvando i miei progetti dentro della mia directory dei download.
E quando crei un nuovo progetto all'interno della directory dei download, vai
al nome del progetto.
Il nome del mio progetto è contare il numero di righe.
Quindi all'interno del numero di conteggio di righe, ho il mio main. c file.
Posso creare il mio file proprio in questa directory.
Quindi sto solo andando a destra fare clic all'interno della directory e
sto per dire nuovo e sono andando a creare un file di testo.
Questo è un nuovo documento di testo, e sarà un test. testo.
Lo aprirò.
Puoi aprirti in qualsiasi editor, questo è wordpad.
Sta per entrare alcune righe, ciao.
Questo sarà un test per contabilità, okay, solo un mucchio di righe e
poi tu vuoi salvarlo e chiuderlo.
Ora che ho creato il mio file, posso iniziare effettivamente a implementare qualcosa.
La prima cosa che voglio fare è che voglio creare una
variabile costante per il nome del file.
Quindi userò definire.
Questo rappresenterà il nome del mio file.
Dirò solo il nome del file in tutto caps, e questo sarà uguale a
quello che ho appena chiamato, quale ancora una volta è il test. testo, quindi prova. testo.
E tutto il mio codice sta andando essere la mia funzione principale.
Voglio creare il mio puntatore di file.
Ricorda, per creare un puntatore di file, devi solo usare FILE tutto maiuscolo, quindi dire asterisco
e poi puoi semplicemente dire fp.
E lo farò inizializzalo su null.
Ogni volta che esegui la lettura di file e scrivendo, devi assicurarti di
includere la libreria standard. h.
Creerò anche un singolo carattere che verrà utilizzato.
Dirò solo char, e poi creerò un contatore per
tutte le mie linee.
Dirò che le righe int contano.
E lo inizializzerò a 0.
La prima cosa che devi fare quando fai qualsiasi tipo
di lettura dai file, devi aprirlo.
Quindi la funzione f open è restituirà un puntatore di file.
Quindi voglio assegnarlo al mio fp variabile e voglio dire f
aperto e il nome del file nome che ho già definito è una
costante, nome file.
E voglio aprirmi alla lettura e leggendo solo così dico solo r.
Quindi qui voglio fare fopen con il mio nome del file come mia costante e quindi r tra
virgolette che è la nostra modalità.
Voglio solo leggere solo.
Non voglio scrivere.
Se ho fatto un r plus, io scriverebbe anche lui.
Prima di usare il puntatore, il file il puntatore rappresenta il file.
Voglio assicurarmene il puntatore non è uguale a null, quindi
voglio fare una f.
Voglio dire che fp è uguale a null.
Quindi se è uguale a null, ho appena desidera visualizzare un errore in cambio.
Quindi voglio fare qualcosa di simile Il file printf non esiste, qualunque cosa tu
voglia fare.
E questo succederà allora.
Vorremo solo tornare un 1 negativo dalla nostra funzione.
Dopo aver aperto il file, ora abbiamo può effettivamente iniziare a
leggere i caratteri, quindi possiamo scrivere un ciclo while e vogliamo dire mentre il nostro carattere, che
è un carattere, è uguale a fgetc.
Fgetc sta leggendo un singolo carattere.
Passiamo il nostro puntatore al file e fondamentalmente vogliamo dire che vogliamo
leggere i caratteri finché non vediamo un eof.
Quindi diciamo fino a quando non è uguale a eof.
Quindi salteremo fuori il nostro ciclo, qualcosa del genere.
Quindi leggeremo i caratteri fino ad arrivare alla fine del file.
Finché il nostro personaggio non lo è un avanzamento riga, vogliamo incrementare solo quando vediamo
un avanzamento riga.
Quindi diremo se il nostro personaggio è uguale a un avanzamento riga, quindi vogliamo sostanzialmente incrementare
il nostro contatore.
Vogliamo solo dire che le righe contano più inoltre, questo conterà le nostre linee.
E poi saltiamo fuori dal giro quando arriviamo alla fine del file.
Ma consigliamo solo il nostro conto se otteniamo un avanzamento riga.
L'ultima cosa che vuoi sempre fare dopo aver letto la tua scrittura, vuoi chiudere
il tuo file.
Quindi vuoi dire fclose e quindi passare il puntatore del file.
E poi vorremmo anche impostare il nostro puntatore al file è uguale a null.
E poi possiamo stampare il file numero di righe in cui ci imbattiamo.
Quindi possiamo semplicemente dire printf numero totale di righe r percento d barra rovesciata ne quindi possiamo semplicemente inserire
il conteggio delle righe.
E poi appena tornato da il principale, proprio così.
Quindi, di nuovo, per esaminare questo codice, noi crea il nostro puntatore
a file impostalo su null crea un carattere e un local variabile per il conteggio delle righe.
Apriamo il nostro file alla riga 12.
Lo apriamo in modalità di sola lettura.
Ci assicuriamo che non sia nullo e quindi eseguiamo il nostro ciclo while per leggere
ogni carattere fino a siamo alla fine del file.
Ogni volta che vediamo un avanzamento riga, incrementiamo quel contatore.
E poi chiudiamo il nostro file e imposta il nostro puntatore su null.
E poi stampiamo il numero di righe.
Andiamo avanti e costruiamo questo.
E abbiamo una linea in più feed, vogliamo essere sicuri.
Quindi voglio assicurarmi che non lo facciamo dimentica la virgola nel nostro printf.
E ora lo eseguiamo, lo farà leggi dal nostro file che abbiamo
creato e dicci quante righe abbiamo.
Quindi dice il numero totale di righe sono sei.
Se apriamo il nostro file di testo, dovremmo notare che ci sono sei righe, una, due,
tre, quattro, cinque, sei.
In realtà ce ne sono sette.
Quindi dovremmo incrementare il file l'ultimo fino a quando non otteniamo l'eof.
Quindi ecco un piccolo bug qui dove diciamo solo perché questo sta facendo il nostro
ultimo feed di riga prima di arrivare alla fine del file.
Quindi vorresti averlo effettivamente questo sarebbe ancora uno e poi lo avremmo eseguito e funzionerebbe
davvero.
Quindi in questo caso lo faremo aggiungi un paio di righe.
E in questo caso, avremmo dovuto uno, due, tre, quattro, cinque,
sei, sette, otto, nove righe.
Chiudiamo il file.
Lo eseguiamo di nuovo, compila e dovremmo ottenere nove.
In questo caso otteniamo 9.
Quindi salverò questo codice sorgente.
Puoi scaricarlo.
Queste sono le basi della lettura dati da un file utilizzando fgetc.
Vuoi anche diventare familiarità con fgets.
E poi per formattare l'output, puoi usare fscanf per leggere nell'output formattato.
Spero che questo sia stato utile. Grazie.