Comment lire les lignes de STDIN dans la programmation C

Comment lire les lignes de STDIN dans la programmation C
Le stdin est la forme courte de «l'entrée standard», en programmation C, le terme «stdin» est utilisé pour les entrées qui sont prises du clavier soit par l'utilisateur, soit à partir d'un fichier. Le «stdin» est également connu sous le nom de pointeur car les développeurs accèdent aux données des utilisateurs ou des fichiers et peuvent effectuer une action sur eux.

Dans cet article, nous utiliserons les fonctions intégrées de la programmation C qui peuvent être utilisées pour lire l'entrée par le stdin.

Comment lire une ligne de STDIN dans la programmation C

Il existe différentes fonctions intégrées utilisées dans la programmation C pour lire les entrées du stdin. Les fonctions utilisées pour lire les lignes sont:

  • getline ()
  • getchar ()
  • putchar ()
  • scanf ()

Nous expliquerons toutes ces fonctions en détail.

getline (): Cette fonction est utilisée pour lire les lignes du stdin. Pour comprendre cette fonction, considérons l'exemple, nous créerons un fichier texte avec le nom myfile2.C et écrivez le script suivant:

#inclure
#inclure
int Main (vide)

printf («Veuillez entrer une ligne: \ n»);
char * line = nill;
size_t len ​​= 0;
ssize_t lineSize = 0;
lineSize = getline (& line, & len, stdin);
printf («Vous avez entré% s, qui a% Zu Chars.\ n ”, ligne, lignesize -1);
ligne gratuite);
retour 0;

Compiler le script de fichier2.C Utilisation du compilateur GCC:

$ gcc myfile2.c -o myfile2

Exécutez le code à l'aide de la commande:

$ ./ myfile2

Dans la sortie ci-dessus, nous pouvons voir qu'une ligne est tirée du stdin puis affichée avec le nombre de ses caractères. La fonction getline () lit une phrase complète du stdin et alloue de la mémoire sur le tas et l'enregistre là-bas. Dans le getline (), nous passons l'adresse de la mémoire où la ligne doit être stockée, l'adresse de la longueur de la ligne et le stdin. Puis affichez simplement la ligne et sa longueur à l'aide de la fonction printf (). De plus, en fin de compte, nous avons utilisé libre () afin que l'espace occupé en mémoire puisse être effacé pour le réutiliser la prochaine fois.

getchar (): Le getchar () La fonction est utilisée pour lire le premier caractère du stdin et le putchar () est utilisé pour afficher le caractère unique sur l'écran. L'inconvénient du getChar () et de putchar () est qu'ils peuvent lire et afficher un seul caractère à la fois, mais nous pouvons utiliser une boucle pour afficher tous les caractères de Stdin. Pour comprendre cela, écrivez le code suivant:

#inclure
#inclure
int main( )
Char C;
int i, l;
fprintf (stdout, "Entrez la longueur de chaîne:");
fscanf (stdin, "% d", & l);
fprintf (stdout, "Entrez une valeur:");
pour (i = 0; i<=l; i++)

c = getc (stdin);
putc (c, stdout);

fprintf (stdout, "\ n");
retour 0;

Compilez le code à l'aide du compilateur GCC:

$ gcc myfile4.c -o myfile4

Exécutez le myFile4:

$ ./ myfile4

Dans le code ci-dessus, nous entrons une ligne «Bonjour! C'est Linuxhint »et le getChar () lit le premier caractère de la ligne, et putchar () est utilisé pour afficher la ligne. Tout d'abord, nous avons demandé à l'utilisateur la longueur de la chaîne, puis nous l'avons affichée à l'aide d'une boucle.

scanf (): L'autre méthode largement utilisée pour lire la ligne du stdin utilise la fonction "Scanf ()". Le scanf prend l'entrée du stdin, puis le scanne et l'enregistre dans une variable ou un tableau. Par exemple:

#inclure
int main( )
char a [100];
fprintf ("Entrez une chaîne:");
fscanf (stdin, "% s", a);
fprintf (stdout, "\ nyou entré la chaîne suivante:% s", a);
fprintf (stdout, «\ n»);
retour 0;

À l'aide du compilateur GCC, compilez le programme de MyFile5.C pour déboguer les erreurs:

$ gcc myfile5.c -o myfile5

Exécutez le myFile5:

$ ./ myfile5

Dans le script ci-dessus, nous avons simplement déclaré le tableau «A» avec le type de données de caractère, avec l'aide de ScanF (), nous avons pris les entrées du stdin. Nous avons utilisé la constante «% s» qui est utilisée pour lire et imprimer les cordes également. Puis affiché la chaîne stockée dans le tableau a [] qui est «bonjour».

Conclusion

Le stdin est utilisé pour prendre l'entrée du clavier et il peut lire de différentes manières. Il existe différentes fonctions utilisées pour lire le stdin. Dans cet article, nous avons utilisé différentes fonctions utilisées pour lire une ligne. La fonction intégrée en programmation C est getline () qui est utilisée pour lire les lignes du stdin. Mais nous pouvons également utiliser d'autres fonctions comme getchar () et scanf () pour lire les lignes.