Retour a la ligne dans un fichier texte.

Retour a la ligne dans un fichier texte. - C - Programmation

Marsh Posté le 29-12-2004 à 14:47:07    

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?
 
svp, merci

Reply

Marsh Posté le 29-12-2004 à 14:47:07   

Reply

Marsh 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

Reply

Marsh Posté le 29-12-2004 à 15:03:17    

Daniel59 a écrit :

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?
 
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é)
 
a+

Reply

Marsh Posté le 29-12-2004 à 16:19:20    

Daniel59 a écrit :

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.


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 29-12-2004 à 21:31:35    

Ok, ça roule, merci
 
while(car!='\n')
{
fscanf(fp,"%c", &car);
tab3[l]=car;
l++;
}

Reply

Marsh Posté le 29-12-2004 à 23:51:08    

Daniel59 a écrit :

Ok, ça roule, merci


while(car!='\n')
{
fscanf(fp,"%c", &car);



Une façon compliquée d'écrire  

car = fgetc(fp);


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 */
      }
   }


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed