IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

gestion du \n


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut gestion du \n
    bonjour a tous,
    je doit traiter des chaines de caracteres, et il faut que je vire le \n a la fin de la chaine. j utilise un strcmp, mais apparament le compilateur aime pas trop, il me met un warning, mais qui fait qd meme un plantage a l execution.
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    		fin= ligne[strlen(ligne)];
    		if (strcmp(ligne[fin+1], "n") == 0)
    		{
    			ligne[strlen(ligne) -1L] = 0L; //on enleve le \n (ceci est une ligne récupérer dans un autre bout de code de ma boite, et ça fonctionne)
    		}
    voici les warnings
    warning C4047: 'function' : 'const char *' differs in levels of indirection from 'char '
    warning C4024: 'strcmp' : different types for formal and actual parameter 1

    a savoir que si je ne fait pas le test et que je met seulement "ligne[strlen(ligne) -1L] = 0L;" le programme fonctionne mais ne gere pas le cas ou une seule ligne a été enregistrée et sans retour a la ligne.

    donc ma question: ou est ce que je me suis planté?
    merci pour vos lumieres.

  2. #2
    Membre émérite
    Avatar de lakitrid
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    1 535
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 535
    Points : 2 388
    Points
    2 388
    Par défaut
    strcmp compare des chaînes et non des caractéres.
    Ceci devrait passer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
          fin= strlen(ligne);
          if (ligne[fin - 1]  == '\n')
          {
             ligne[fin -1] = '\0';
          }

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    c est parfait, je croyais que des qu on voulait comparer un ou des caracteres il fallait utiliser strcmp (je me coucherai moins bete!! lol!!)
    merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/08/2002, 21h37
  2. Gestion de matrice
    Par bzd dans le forum C
    Réponses: 4
    Dernier message: 12/08/2002, 18h19
  3. Réponses: 4
    Dernier message: 04/07/2002, 12h31
  4. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11
  5. gestion d'un joystick ...
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 23/05/2002, 12h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo