Bonjour et bienvenue à nouveau.
Dans cette conférence, je veux fournir une démonstration de notre
premier défi de lecture à partir d'un fichier.
Nous allons compter le nombre de lignes à l'intérieur d'un fichier en utilisant fgetc.
Alors faisons apparaître les blocs de code, et créons notre projet.
Ici, nous allons juste dire nouveau projet,
et ce sera un alignement de lecture de base.
Alors disons la sélection de l'application console c, et nous nommerons ce nombre de lignes de
base ou comptant comment à propos du nombre de lignes.
Et donc cela va créer notre principal. c ce qui est bon.
Avant même de démarrer cette application cependant, nous voulons réellement créer notre fichier
qui contient du texte.
Puisque nous n'écrivons pas, nous sommes juste lecture en nombre de lignes.
Alors tu dois savoir où vous avez enregistré votre projet.
J'enregistre mes projets à l'intérieur de mon répertoire de téléchargements.
Et lorsque vous créez un nouveau projet à l'intérieur de votre répertoire de téléchargements, vous
accédez à ce nom de projet.
Le nom de mon projet est compter le nombre de lignes.
Donc, à l'intérieur, comptez le nombre de lignes, j'ai mon principal. c fichier.
Je peux créer mon fichier directement dans ce répertoire.
Alors je vais juste à droite cliquez dans le répertoire et
je vais dire nouveau et je suis va créer un fichier texte.
Ceci est un nouveau document texte, et ça va être un test. texte.
Je vais l'ouvrir.
Vous pouvez ouvrir dans n'importe quel éditeur, c'est wordpad.
Ça va mettre quelques lignes, bonjour.
Ce sera un test pour comptabilité, d'accord, juste un tas de lignes et puis
vous voulez le sauvegarder et le fermer.
Maintenant que mon fichier est créé, je peux commencez réellement à mettre en œuvre quelque chose.
La première chose que je veux faire est je veux créer
une variable constante pour le nom de fichier.
Je vais donc simplement utiliser define.
Cela va représenter mon nom de fichier.
Je vais juste dire le nom du fichier en tout caps, et cela va être
égal à ce que je viens de nommer, qui est encore un test. texte, alors testez. texte.
Et tout mon code va être ma fonction principale.
Je veux créer mon pointeur de fichier.
N'oubliez pas, pour créer un pointeur de fichier, vous utilisez simplement FILE en majuscules, puis dites étoile
et ensuite vous pouvez simplement dire fp.
Et je vais initialisez cela à null.
Chaque fois que vous lisez un fichier et en écrivant, vous devez vous assurer que
vous incluez la bibliothèque standard. h.
Je vais aussi créer un single caractère qui va être utilisé.
Je vais juste dire char, puis je vais créer un
compteur pour toutes mes lignes.
Je vais dire que les lignes int comptent.
Et je vais initialiser cela à 0.
La première chose que vous devez faire quand vous faites n'importe quel type
de lecture à partir de fichiers, vous devez l'ouvrir.
Donc, la fonction f open est va retourner un pointeur de fichier.
Donc je veux attribuer cela à mon fp variable et je veux
dire f ouvert et le nom du fichier nom que j'ai déjà défini est un
nom de fichier constant.
Et je veux m'ouvrir à la lecture et en lisant seulement donc je dis juste r.
Alors ici je veux faire fopen avec mon nom de fichier comme ma constante, puis r
entre guillemets doubles, c'est notre mode.
Je veux seulement lire seulement.
Je ne veux pas écrire.
Si j'ai fait un r plus, je écrirait aussi.
Avant d'utiliser le pointeur, le le pointeur représente le fichier.
Je veux m'assurer que le pointeur n'est pas égal à null, donc
je veux faire un f.
Je veux dire que fp est égal à null.
Alors si c'est égal à nul, je viens de souhaitez afficher une erreur en retour.
Alors je veux faire quelque chose comme Le fichier printf n'existe pas, quoi que vous
vouliez faire.
Et cela va alors.
Nous allons juste vouloir revenir un 1 négatif de notre fonction.
Après avoir ouvert le fichier, maintenant nous peut réellement commencer à lire
des caractères, donc nous pouvons écrire une boucle while et nous voulons dire tandis que notre caractère, qui
est un caractère est égal à fgetc.
Fgetc lit un seul caractère.
Nous passons dans notre pointeur de fichier, et nous voulons essentiellement dire que nous
voulons lire des caractères jusqu'à ce que nous voyions un eof.
Nous disons donc jusqu'à ce que ce ne soit pas égal à eof.
Ensuite, nous allons sauter hors de notre boucle, quelque chose comme ça.
Alors on va lire en caractères jusqu'à ce que nous arrivions à la fin du fichier.
Tant que notre personnage n'est pas un saut de ligne, nous ne voulons incrémenter que lorsque nous voyons
un saut de ligne.
Alors on va dire si notre personnage est égal à un saut de ligne, alors nous voulons
fondamentalement incrémenter notre compteur.
Nous voulons juste dire que les lignes comptent plus en plus, ça va compter nos lignes.
Et puis on saute hors de la boucle lorsque nous arrivons à la fin du fichier.
Mais nous ne recommandons que notre compte si nous obtenons un saut de ligne.
La dernière chose que tu veux toujours faire après avoir lu votre écriture, vous souhaitez
fermer votre fichier.
Alors vous voulez dire fclose et puis passez le pointeur de fichier.
Et puis nous voudrions aussi définir notre pointeur de fichier égal à null.
Et puis nous pouvons imprimer le nombre de lignes dans lesquelles nous courons.
Donc, nous pouvons simplement dire le nombre total de printf de lignes r pour cent d barre oblique inverse n et nous pouvons simplement
mettre le nombre de lignes.
Et puis reviens juste de le principal, juste comme ça.
Donc encore une fois pour passer en revue ce code, nous créer notre
pointeur de fichier le mettre à null créer un caractère et un local variable pour compter les lignes.
Nous ouvrons notre dossier à la ligne 12.
Nous l'ouvrons en mode lecture seule.
Nous nous assurons que ce n'est pas nul, et puis nous faisons notre boucle while pour lire chaque
caractère jusqu'à ce que nous sommes à la fin du dossier.
Chaque fois que nous voyons un saut de ligne, nous incrémentons ce compteur.
Et puis on ferme notre dossier et définissez notre pointeur sur null.
Et puis nous imprimons le nombre de lignes.
Allons de l'avant et construisons ceci.
Et nous avons une ligne supplémentaire nourrir, nous voulons nous en assurer.
Alors je veux m'assurer que nous ne le faisons pas oubliez la virgule dans notre printf.
Et maintenant nous courons ça, ça va lisez notre fichier que nous avons créé
et dites-nous combien de lignes nous avons.
Donc ça dit le nombre total des lignes sont six.
Si nous ouvrons notre fichier texte, nous devrions remarquez qu'il y a six lignes, une, deux,
trois, quatre, cinq, six.
Il y en a sept en fait.
Il faudrait donc augmenter le dernier jusqu'à ce que nous obtenions l'eof.
Alors voici un petit bug ici où nous disons simplement parce que cela fait
notre dernier saut de ligne avant d'atteindre la fin du fichier.
Donc tu voudrais vraiment avoir ce serait un de plus et ensuite nous le lancerions et cela
fonctionnerait réellement.
Donc, dans ce cas, nous ajoutez quelques lignes.
Et dans ce cas, nous devrions avoir une, deux, trois, quatre, cinq,
six, sept, huit, neuf lignes.
Nous fermons le dossier.
Nous l'exécutons à nouveau, compilons et nous devrions en avoir neuf.
Dans ce cas, nous obtenons 9.
Je vais donc enregistrer ce code source.
Vous pouvez le télécharger.
Ce sont les bases de la lecture données d'un fichier utilisant fgetc.
Tu veux aussi devenir familier avec les gadgets.
Et puis pour formater la sortie, vous pouvez utiliser fscanf pour lire dans la sortie formatée.
J'espère que cela a été utile. Merci.