Fonction ftell en c

Fonction ftell en c
Comme beaucoup d'autres langages de programmation, le langage C a proposé de nombreuses fonctions intégrées. Ces fonctions ont été ajoutées dans le langage C pour effectuer différentes fonctions à différents niveaux.

L'une des fonctions est la fonction «ftell ()» du concept de classement C. Cette fonction est très probablement utilisée pour lire l'emplacement du fichier existant du flux fourni par rapport au début du fichier. En déplaçant le pointeur du document vers le dernier emplacement du document, cette méthode est en train de fouiller pour récupérer la taille globale de l'ensemble de données. L'emplacement actuel est retourné en format long et le document peut contenir plus de 32767 octets d'information. Ainsi, nous avons décidé de couvrir le c ftell () dans Ubuntu 20.04 Système.

Commencez par le lancement du terminal d'Ubuntu, je.e., Ctrl + alt + t. Nous devons faire un nouveau fichier texte dans le dossier à domicile de notre système Ubuntu. Utilisez l'instruction tactile pour le faire. Allez vers le dossier personnel de votre système Linux et ouvrez le fichier nouvellement créé en tapant sur lui. Ajoutez des données de texte, enregistrez et fermez-les.

Vous pouvez voir que nous avons créé le fichier.fichier txt et ajouter les données ci-dessous. Nous utiliserons ce fichier dans nos exemples de près de Come.

$ CAT Fichier.SMS

Exemple 01:

Faisons avec nos premiers exemples pour cet article. Vous devez créer un nouveau fichier de type C dans votre système en utilisant l'instruction tactile d'Ubuntu avec le nom d'un fichier à l'aide du ".Extension C ”. Ce fichier est nécessaire pour s'ouvrir dans l'un des éditeurs d'Ubuntu pour l'utiliser pour un code. Vous pouvez utiliser l'éditeur VIM, Text ou Nano. Nous utilisons jusqu'à présent l'éditeur «GNU Nano» pour rendre notre code plus attrayant.

$ touch ftell.c
$ nano ftell.c

Lorsque le fichier s'est ouvert dans l'éditeur GNU Nano, il sera initialement vide. Nous devons démarrer notre code C avec l'utilisation des en-têtes, très probablement «STdio.h ”. Nous effectuerons notre code dans la fonction principale () de ce code.

Démarrez la fonction principale () du type de retour «int». Nous avons déclaré le descripteur de fichier de type pointeur à l'aide de l'objet de fichier. Une autre variable de type entier est également déclarée, i.e., "longueur". Maintenant, nous devons ouvrir le fichier texte déjà existant de notre système à l'aide de la fonction fopen () du fichier C pour lire ses données avec la lecture des écritures, i.e., "R". Si le fichier était ouvert avec succès, le descripteur de fichier serait renvoyé avec une valeur entière, très probablement «1».

Nous utilisons l'instruction «IF» pour vérifier si la valeur du descripteur de fichier que nous venons de recevoir est nul ou non. Si c'est le cas, il appellera la méthode perror () de C pour générer une invite d'erreur, je.e., "Il y a une erreur". Après cette instruction «IF», ​​si le fichier est ouvert avec succès, nous utiliserons la fonction Seek () du classement C pour emmener le pointeur à la fin d'un fichier.

Nous devons utiliser l'option Seek_end comme troisième argument de la fonction fseek (). Le 0 dans cette fonction est utilisé pour rechercher le pointeur à partir des 0 positions. La longueur de la taille totale du fichier a été obtenue à partir de l'utilisation de la fonction ftell ().

Le fichier a été fermé avec la fonction fclose () en utilisant le descripteur de fichier dedans. Maintenant, l'instruction PRINTF est là pour afficher les octets totaux des données dans notre fichier texte en utilisant la variable «longueur». Enregistrez votre fichier de code avec le raccourci Ctrl + S.

#inclure
void main ()
Fichier * fd;
longueur int;
fd = fopen ("fichier.txt "," r ");
if (fd == null)
Perror («Il y a une erreur»);
return (-1);

fseek (fd, 0, Seek_end);
longueur = ftell (fd);
fclose (fd);
printf ("notre taille de fichier:% d bytes \ n", len);
return (0);

Sortez de l'éditeur Nano avec Ctrl + x Raccourci compiler le code C via le compilateur «GCC». Exécutez votre code après cela avec le "./un.Commande. Vous pouvez voir que notre fichier texte a un total de 370 octets.

$ gcc ftell.c
$ ./un.dehors

Exemple 02:

Prenons un nouvel exemple pour utiliser la fonction ftell () de C à l'intérieur. Utilisez le même fichier de code pour rendre notre code mis à jour. Utilisez le «stdio.En-tête h ”et démarrez la fonction principale (). Utilisez le descripteur de fichier de type de point «F» pour ouvrir le fichier texte «Fichier.txt ”en mode de lecture. Déclarer un tableau de taille 10, i.e., "UN". Nous utilisons la fonction fscanf () du classement C pour scanner la première chaîne du fichier texte n'ayant pas plus de 10 lettres.

L'instruction printf () a utilisé le descripteur de fichier dans sa fonction ftell () pour afficher également la longueur de la première chaîne à partir de son fichier texte.

#inclure
void main ()
Fichier * f = fopen ("fichier.txt "," r ");
char a [10];
fscanf (f, "% s", a);
printf ("Position du pointeur:% ld \ n", ftell (f);
return (0);

Après cette compilation de code et en cours d'exécution, ce fichier nous montre la sortie, je.e., la position du pointeur après le 1St La chaîne est 4, comme indiqué ci-dessous.

$ gcc ftell.c
$ ./un.dehors

Faisons la première chaîne dans le fichier.Fichier TXT un peu plus longtemps en utilisant une modification simple.

$ CAT Fichier.SMS

Maintenant, utilisez la même quantité de code sans mise à jour / changement pour voir comment il en résulte. Nous utilisons le tableau de taille 10 pour le tableau «A». Si la taille est moindre, elle affichera la taille totale de la première chaîne, je.e., longueur mais afficher également une sortie sur la zone de sortie.

L'exécution de ce code nous montre que la taille est de 28, mais le programme est brisé car la première chaîne est de 28 tailles, et vous avez utilisé une zone de taille 10.

$ gcc ftell.c
$ ./un.dehors

Conclusion:

Cet article a discuté des détails mineurs de l'utilisation de la fonction ftell () de C pour obtenir la taille des données utilisées dans un document particulier. Nous avons discuté de deux des illustrations simples pour expliquer le concept de fonction FTell dans le langage de programmation C.