Fseek en c

Fseek en c
En tant qu'utilisateur de l'ordinateur quotidien, nous travaillons toujours avec des fichiers et des dossiers. Ces fichiers et dossiers sont les incontournables de tout système d'exploitation comme Windows ou Linux. En plus d'accéder aux fichiers via le système d'exploitation, nous pouvons également accéder à ces fichiers et dossiers dans n'importe quel langage de programmation via le dépôt. Bien qu'il ne soit pas aussi simple que d'utiliser les fichiers et les dossiers dans les systèmes d'exploitation, il peut nous fournir une quantité suffisante d'informations.

La fonction «Fseek» de «C» est conçue pour obtenir une information concernant la plage spécifique de données de texte dans tout type de fichier comme le nombre total de caractères, afficher les données de texte spécifiques et bien d'autres. Comme nous avons travaillé sur la plate-forme Linux, il est nécessaire d'installer le compilateur C via l'application «ligne de commande». Par conséquent, ouvrez rapidement votre application «Terminal» et essayez de mettre à jour votre Ubuntu 22.04 Système Linux d'abord. Utilisez l'utilitaire «APT» avec les droits «sudo» dans la requête «Mise à jour» pour la mettre à jour.

Une fois l'ensemble du système à jour, nous allons configurer le compilateur «C» dans notre machine Linux. C'est un besoin pour nos exemples de code car, sans compilateur, nous ne pourrons pas exécuter les codes. Ainsi, en utilisant à nouveau l'outil «Apt», nous installons le compilateur «GCC» pour la langue «C» à l'aide de la requête «Installer» indiquée dans l'image suivante:

Créons un fichier texte avant de créer un code C. Ce fichier texte est produit à l'aide de la requête «Touch» Linux comme indiqué dans l'illustration suivante. Après cela, nous ajoutons du texte dans le nouveau fichier. Cinq (5) lignes de données de texte sont également affichées dans le shell via l'instruction «Cat».

Exemple 01:

Nous commençons cette première illustration de C pour expliquer comment nous pouvons utiliser la fonction fseek pour déplacer le curseur vers le point spécifique du fichier et compter le nombre total de caractères dans une plage spécifique. Ainsi, la requête «Touch» est à nouveau utilisée pour créer un fichier avec l'extension «C», je.e. «Fseek.C ". La requête de liste montre ce fichier nouvellement produit dans le dossier à domicile.

Pour commencer le codage dans le fichier C, nous ouvrons ce fichier dans l'éditeur GNU Nano du système Linux. Maintenant, le fichier C doit commencer par le «stdio.En-tête h ”car c'est un incontournable pour l'utilisation des instructions d'entrée et de sortie de C. Après avoir inclus l'en-tête standard, nous utilisons la fonction «principale». Nous utilisons la fonction intégrée dans la fonction Main (), il n'est donc pas nécessaire d'ajouter une fonction définie par l'utilisateur.

L'objet «Fichier» est utilisé pour créer un descripteur de fichier de type pointeur «F». Ce descripteur de fichiers nous aide à accéder et à modifier le fichier dans la mesure du possible. Nous utilisons la fonction «fopen» de C pour simplement ouvrir le «Fseek.Fichier txt "dans un mode de lecture en utilisant l'argument" R ". La fonction fopen () renvoie une certaine valeur au descripteur «F» qui nous indique si le fichier est lancé avec succès ou non. Le descripteur de fichier «F» nous aide à effectuer la recherche sur un fichier texte via la fonction «fseek» en plaçant le pointeur à l'index «0» jusqu'à la fin du fichier, i.e. Option "Seek_end".

L'instruction «C» en langue «printf» utilise la fonction «ftell» avec le descripteur de fichier «F» pour nous dire le nombre total de caractères dans un fichier de l'index 0 à la fin.

#inclure
int main()
Fichier * f;
f = fopen ("fseek.txt "," r ");
fseek (f, 0, Seek_end);
printf ("Nombre total de caractères:% ld \ n", ftell (f));
retour 0;

Nous enregistrons notre code et le compilons en utilisant l'instruction du compilateur «GCC» sur le shell. En exécutant ce code compilé, nous obtenons «69» comme sortie des caractères totaux dans un fichier.

Exemple 02:

Dans cet exemple de programme C, nous verrons comment nous pouvons ajouter les données de texte à un fichier en utilisant l'emplacement spécifique via la fonction fseek (). Par conséquent, nous utilisons un peu le même code avec beaucoup de modifications. En commençant par l'ajout de l'entrée et de la sortie et en ajoutant la méthode Main (), nous initialisons un descripteur de fichier de pointeur à l'aide de l'objet "Fichier". Ce descripteur prend sa valeur en tant que valeur renvoyée de la fonction "fopen ()" qui essaie d'ouvrir un fichier en mode d'écriture.

La fonction «Fput» de C est utilisée ici pour ajouter des données dans un fichier. Et la fonction fseek () définit l'emplacement d'un curseur à 0 index au début. Encore une fois, en utilisant la fonction fput (), nous ajoutons un texte au début d'un fichier via le descripteur «F». La fonction fclose () utilise le descripteur de fichier «F» pour fermer le fichier texte après y avoir écrit. Nous enregistrons ce code avant de l'exécuter.

#inclure
int main()
Fichier * f;
f = fopen ("fseek.txt "," w + ");
fputs ("intermédiaire!", F);
fseek (f, 0, Seek_set);
fputs ("start", f);
fclose (f);
retour 0;

Lors de la compilation, nous n'avons trouvé aucune erreur et l'avons exécutée avec le «./un.Out ”Commande d'exécution Linux. L'exécution n'a rien retourné mais a apporté quelques modifications au «Fseek.Fichier txt ». L'instruction CAT montre que le texte «démarrer» est ajouté à la position de départ d'un texte «intermédiaire».

Après cela, nous mettons à jour le code à nouveau et mettons à jour la position d'un pointeur à placer dans le fichier, je.e. Indice de position 6. Le reste n'est pas gêné par un seul changement de mot.

#inclure
int main()
Fichier * f;
f = fopen ("fseek.txt "," w + ");
fputs ("intermédiaire!", F);
fseek (f, 6, Seek_set);
fputs ("start", f);
fclose (f);
retour 0;

Lorsque nous avons compilé ce code nouvellement mis à jour avec le compilateur «GCC» ainsi que l'exécution via le «./un.requête out, il n'a rien rendu car il a apporté quelques modifications au fichier texte. En affichant les données du «Fseek.Fichier txt ”, il montre que le mot« démarrage »est ajouté à la fin d'un fichier après l'index de position spécifié« 6 ».

Conclusion

Ce guide est un bonus pour les utilisateurs C pour comprendre l'utilisation de la fonction fseek () de C plus précisément avec les exemples simples. Pour cela, nous avons essayé de rendre le système Linux à jour et de configurer le compilateur C. Parallèlement à cela, nous avons utilisé l'exemple de C pour utiliser la fonction fseek () pour placer le curseur à des points spécifiques du fichier. Nous avons également essayé les différentes fonctions comme la fonction ftell () pour afficher les caractères totaux du fichier et la fonction fput () pour ajouter les données à un fichier.