Call Us Free: 1-800-638-8708

Exemple fgets langage c

Exemple fgets langage c

La fonction fgets () doit lire les octets du flux dans le tableau pointé par s, jusqu`à ce que n-1 octets soient lus, ou a est lu et transféré à s, ou une condition de fin de fichier est rencontrée. Supposons que nous ayons un fichier texte. Le texte va dans le tableau de noms, qui est défini sur un maximum de dix caractères dans la ligne 5. L`argument length inclut l`espace nécessaire pour le caractère null qui sera ajouté à la fin de la chaîne. Lorsque gets () lit l`entrée de l`entrée standard, il convertit la nouvelle ligne (` n`) en caractère null (` 0 `) d`autre part lorsque fgets () lit le caractère de saut de ligne (` n`) à partir du fichier qu`il ne convertit pas en caractère null (` 0 `), il est conservé tel quel. La chaîne lue est retournée si au moins un caractère a été lu et qu`aucune erreur n`est survenue, sinon un pointeur NULL est renvoyé. La chaîne est ensuite terminée avec un octet NULL. Le contenu du tableau pointé par Str n`est pas modifié dans ce cas. La fonction puts () est appelée à nouveau pour imprimer ces 27 caractères en même temps que saut (` n`) à la fin. L`analyse s`arrête si la fin du fichier se produit ou un caractère de saut de ligne est trouvé, auquel cas Str contiendra ce caractère de saut de ligne. L`argument Stream spécifie le flux à partir duquel la chaîne doit être lue. Pour une fonction d`entrée de texte à usage général dans le langage de programmation C, celle qui se lit au-delà du premier caractère d`espace blanc, essayez la fonction fgets ().

Par conséquent, pour lire les caractères N, la spécification de longueur doit être spécifiée comme N + 1. Le code suivant lit les caractères de l`entrée de la console et les imprime 20 dans une ligne avec la fonction puts jusqu`à ce qu`un EOF se produise. En général, la longueur du tableau passé en tant que str est utilisée. Il s`agit du nombre maximal de caractères à lire (y compris le caractère null final). Si une nouvelle ligne a été atteinte, elle est incluse dans la chaîne comme dernier caractère avant le caractère null. Effrayant, non? La fonction fgets () est appelée avec un argument de 30, donc il lit 29 caractères à partir du fichier, les stocke dans le tableau Str en ajoutant le caractère null à la fin. Sur l`erreur ou la fin du fichier, il retourne NULL. Sinon, une valeur FILE * retournée par la fonction fopen () est utilisée.

Exemple: Supposons que nous ayons un tableau de caractères de 15 caractères et que l`entrée est supérieure à 15 caractères, obtient () lira tous ces caractères et les stockera en variable. La fonction lit une chaîne à partir du fichier pointé par FP dans la mémoire pointée par Str. Il lit une ligne à partir du flux spécifié et le stocke dans la chaîne pointée par Str. Si aucune erreur ne se produit, écrit un caractère null à la position immédiatement après le dernier caractère écrit dans Str. Depuis, obtient () ne vérifie pas la limite maximale des caractères d`entrée, donc à tout moment le compilateur peut renvoyer une erreur de débordement de la mémoire tampon. La taille de tampon fixe imposée par fgets () est lourde dans les applications qui doivent gérer arbitrairement de longues lignes de texte. La fonction lit les caractères du fichier jusqu`à ce qu`un saut de ligne (` n`) soit lu ou que les caractères n-1 soient lus ou qu`une fin de fichier soit rencontrée, selon la première éventualité. Dans la deuxième itération fgets () rencontre fin de fichier après avoir lu 27 caractères.

C`est la raison pour laquelle saut est imprimée après chaque itération. Si la fin du fichier est rencontrée et qu`aucun caractère n`a été lu, le contenu de Str reste inchangé et un pointeur null est renvoyé.

Comments are closed.