C++ : Erreur

Résolu
epsiloneIB Messages postés 134 Statut Membre -  
epsiloneIB Messages postés 134 Statut Membre -
Bonjour,

Langage : C++

Code :
char line[100];
if (strcmp(line[j],"0")!=0)
{
printf(ft,"%s",line[j]);
}

Erreur : c++ invalid conversion from 'char' to 'const char*'

Je compte sur votre aide.

Epslione
Configuration: Windows XP
Internet Explorer 7.0

7 réponses

  1. grizzlykiller
     
    L'argument %s représente une chaine de caractères, or tu essaye d'afficher un seul caractère.
    Essaye avec %c à la place de %s
    1
  2. Remad Messages postés 1694 Statut Membre 720
     
    retire le "[j]" dans ton printf pour voir.
    0
  3. epsiloneIB Messages postés 134 Statut Membre 8
     
    Je redonne le code :

    Langage : C++

    Code :
    int j;
    char line[100];
    for (j=0;j<100;j++)
    {
    if (strcmp(line[j],"0")!=0)
    {
    printf("%s",line[j]);
    }
    }

    Erreur : c++ invalid conversion from 'char' to 'const char*'

    Merci!

    Epsilone
    0
  4. epsiloneIB Messages postés 134 Statut Membre 8
     
    L'erreur est dans cette ligne : if (strcmp(line[j],"0")!=0)

    Merci.

    Epsilone.
    0
    1. mich62120 Messages postés 636 Statut Membre 6
       
      salut,

      je crois bien que grizzlykiller a raison.
      change %s en %c
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    pfff....
    revoi tes cours sur pointeurs tableau et types.
    line est un tableau de char, c'est en gros équivalent à un char*. Donc line[j] est de type char. Le prototype de strcmp est int strcmp(const char*, const char *) et toi tu lui donne un char comme premier argument.
    Si tu cherche à comparer des caractère,fait le directement :
    if (line[j]!='0')
    pareil pour le printf -> voir message <2>
    0
  7. epsiloneIB Messages postés 134 Statut Membre 8
     
    Oui, ça marche CharSnipeur!

    Epsilone
    0
  8. epsiloneIB Messages postés 134 Statut Membre 8
     
    Je récapitule :

    Langage :
    C++

    Code :
    int j;
    char line[100];
    for (j=0;j<100;j++)
    {
    if (strcmp(line[j],"0")!=0)
    {
    printf("%s",line[j]);
    }
    }

    Erreur :
    c++ invalid conversion from 'char' to 'const char*'

    Soluce :
    int j;
    char line[100];
    for (j=0;j<100;j++)
    {
    if (line[j]=='0')
    {
    printf("%c",line[j]);
    }
    }

    Epsilone
    0