quelqu'un peut me dire pourquoi on a toujours, ce warning quand on laisse pas un nouveau ligne en fin de fichier?![]()
quelqu'un peut me dire pourquoi on a toujours, ce warning quand on laisse pas un nouveau ligne en fin de fichier?![]()
Va voir la FAQ pour un peu plus de précision: http://c.developpez.com/faq/c/?page=...VERS_nonewline
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
En résumé,appuie sur entrer sur la derniére ligne de code.
Quel est ton EDI ?
ce que je veux savoir c pas comment enlevé ce wrning (appuier sur en trer en fin de fichier), pourquoi on aura se wraning!!.
je te remerci j'ai trouvé la réponse dans la faq
http://c.developpez.com/faq/c/?page=...VERS_nonewline
Je rappelle que la langue de ce forum est le français, pas le 'je mélange les lettres et je tire au hasard'...Envoyé par moon93
Salut,
Il s'agit d'une contrainte imposee par la norme ISO/IEC 9899 (le document constituant le standard officiel du langage C).
Sec. 5.1.1.2 "Translation Phases":
De nombreux parsers sont implementes sous forme de FSM ("Finite State Machines", ou automates finis), pour lesquels la presence de certains caracteres dans un contexte donne declanche une transition d'etat. La presence d'un saut de ligne en fin de fichier represente un EOF (End Of File), selon la norme en question.A source file that is not empty shall end in a new-line character, which shall not be immediatly preceded by a backslash character before any such splicing takes place.
On peut sans doute imaginer qu'il s'agit d'une partie de l'heritage historique laisse par certaines implementations plus ou moins buggees du preprocesseur C, qui d'un point de vue algorithmique, dependaient d'un "jusqu'a une sequence de saut de ligne".
En resume, le saut de ligne a la fin est souhaitable: il ne s'agit pas forcement d'une ligne vide a la fin du fichier, mais d'un saut de ligne apres le dernier caractere de texte "visible", ce caractere ne devant pas etre un backshash.
-pirus.
\n n'est pas un séparateur de lignes, mais un marqueur de fin. Donc un fichier sans \n est logiquement un fichier avec une ligne non terminée. Un fichier avec un \n à la fin n'est pas plus terminé par une ligne vide qu'un bloc d'instructions en C terminé par un ; n'est terminé par une instruction vide.
Partager