Dans un fichier texte, j'aimerai copier la ligne de mon fichier dans un tableau, donc tout ce k'il y a avant le retour chariot.
Mais comment on identifie un retour chariot d'un fichier texte en C?
svp, merci
Publicité
Posté le 29-12-2004 à 14:47:07
Ahulane
Posté le 29-12-2004 à 14:49:51
'\n' il me semble
si ca peut t'aider : '\0' c'est l'indice de fin de chaine
Dans un fichier texte, j'aimerai copier la ligne de mon fichier dans un tableau, donc tout ce k'il y a avant le retour chariot.
Mais comment on identifie un retour chariot d'un fichier texte en C?
svp, merci
Ils sont identifiables par une mnémonique pouvant être codée par un caractère, une valeur décimale, hexadécimale ou octale (voir table des codes ASCII).
C DEC HEX Description
\0 \000 \0x00 caracètre nul NUL
\a \007 \0x07 signal sonore BELL
\b \010 \0x08 retour arrière Backspace
\t \011 \0x09 tabulation Tabulation
\n \012 \0x0A saut de ligne Line Feed
\f \014 \0x0C saut de page Form Feed
\r \015 \0x0D retour chariot Carriage Return
Tout autre caractère précédé du '\' sera affiché tel quel : \' \" \c ... cela permet d'insérer des guillemets dans une chaîne de caractères : "Ce \"mot\" est entre guillemets" (sinon la chaîne se termine au second guillemet rencontré)
Salut,
Dans un fichier texte, j'aimerai copier la ligne de mon fichier dans un tableau, donc tout ce k'il y a avant le retour chariot.
Mais comment on identifie un retour chariot d'un fichier texte en C?
Si tu veux vraiment le caractère CR (retour chariot), tu dois travailler en mode binaire et placer le caractère '\r'
Si tu veux la fin de ligne standard de ton système, tu travailles en mode texte et tu mets simplement '\n'. Le système mettra ce qu'il faut.
A noter aussi que car devrai être un 'int' afin de pouvoir le comparer avec EOF, de façon à détecter la fin de lecture. En principe, on fait comme ça :
int car;
while ((car = fgetc(fp)) != EOF)
{
if (car == '\n')
{
/* traitement de fin de ligne */
}
else
{
/* traitement autre */
}
}