|
Bas de page | |
---|---|
Auteur | Sujet : Incompréhension EOF ET NULL |
Publicité | Posté le 19-04-2010 à 23:01:43 |
gilou ModérateurModzilla | Quelle boucle?
--------------- There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! -- |
Elmoricq Modérateur | Je me permets juste de te conseiller un bouquin : "Le Langage C", de Kernighan & Ritchie. Clair et concis, je pense que ça t'aidera énormément avec toutes les questions que tu te poses. |
lassault1 | J'ai édité.. |
gilou ModérateurModzilla |
Quand fgets renvoie NULL, le test de la boucle while devient while (NULL != NULL) comme (NULL != NULL) est faux, la boucle while s'arrête.
quand fgetc recupere EOF, caractereActuel prend la valeur EOF, le test de la boucle while devient while (NULL != NULL) comme (NULL != NULL) est faux, la boucle while s'arrête. Pourquoi fgets retourne NULL et fgetc retourne EOF? pour rester cohérent avec leur type de retour déclaré: fgets retourne un pointeur, donc on va retourner une valeur compatible avec ce type: NULL, et fgetc retourne un int, donc on va retourner une valeur compatible avec ce type: EOF. A+, Message édité par gilou le 20-04-2010 à 08:11:13 --------------- There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! -- |
lassault1 | Merci..
|
gilou ModérateurModzilla |
grosso modo oui, mais on peut aussi utiliser le pointeur si l'on veut:
--------------- There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! -- |
lassault1 | Merci mais je vais reformulé ma question :
|
gilou ModérateurModzilla |
C'est ce que je t'ai expliqué l'autre fois:
strlen, c'est une fonction de chaine C, donc ca s'occupe de chercher le \0 qui doit terminer la chaine (pour elle la chaine s'arrête la, même si il y a des choses ensuite dans la tableau).
--------------- There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! -- |
Sve@r |
--------------- Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche. |
Publicité | Posté le 20-04-2010 à 19:56:40 |
lassault1 | Si dans mon fichier je met :
Message édité par lassault1 le 20-04-2010 à 21:25:43 |
gilou ModérateurModzilla | Parce que c'est dans la boucle du while que tu as: printf("%s\n", chaine); Message édité par gilou le 20-04-2010 à 22:09:49 --------------- There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! -- |
lassault1 | En conclusion, si je mets dans mon fichier :
|
gilou ModérateurModzilla | Il contiendra la première fois Bonsoir, puis ca sera effacé, et il contiendra Toto (pour être plus juste, il contiendra "Bonsoir\n\0", puis il contiendra "Toto\n\0r\n\0". Mais les fonctions qui travaillent sur les chaines se moquent de ce qui suit le premier \0, alors tu vois pas ce qui est après [pour le voir, il faut regarder ses données comme un tableau, et parcourir case a case]) Message édité par gilou le 21-04-2010 à 02:57:05 --------------- There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! -- |
Sujets relatifs | |
---|---|
Condition non null pour rentrer dasn ma boucle | [JSP] session.getAttribute("sUser") à null |
[JS] Problème: ""null":Cannot convert undefined or null to object" | pb NULL.POITEUR.EXCEPTION |
[Java] supprimer les cases null d'un ArrayList | phpMyAdmin et default value forcée ? |
[ASP.NET] Value cannot be null. après un databind | getElementById = null, mais pourquoi ? |
[Résolu]Tester champs NULL sous access, étrange | [ORACLE] probleme "if (select) is null then" SYNTAX |
Plus de sujets relatifs à : Incompréhension EOF ET NULL |