C++ : Erreur
Résolu/Fermé
epsiloneIB
Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
-
4 juin 2008 à 16:47
epsiloneIB Messages postés 133 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 13 septembre 2009 - 4 juin 2008 à 17:22
epsiloneIB Messages postés 133 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 13 septembre 2009 - 4 juin 2008 à 17:22
7 réponses
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
Essaye avec %c à la place de %s
Remad
Messages postés
1662
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
27 juillet 2012
693
4 juin 2008 à 16:48
4 juin 2008 à 16:48
retire le "[j]" dans ton printf pour voir.
epsiloneIB
Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
8
4 juin 2008 à 16:55
4 juin 2008 à 16:55
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
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
epsiloneIB
Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
8
4 juin 2008 à 17:02
4 juin 2008 à 17:02
L'erreur est dans cette ligne : if (strcmp(line[j],"0")!=0)
Merci.
Epsilone.
Merci.
Epsilone.
mich62120
Messages postés
631
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2010
6
4 juin 2008 à 17:05
4 juin 2008 à 17:05
salut,
je crois bien que grizzlykiller a raison.
change %s en %c
je crois bien que grizzlykiller a raison.
change %s en %c
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
4 juin 2008 à 17:08
4 juin 2008 à 17:08
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>
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>
epsiloneIB
Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
8
4 juin 2008 à 17:14
4 juin 2008 à 17:14
Oui, ça marche CharSnipeur!
Epsilone
Epsilone
epsiloneIB
Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
8
4 juin 2008 à 17:22
4 juin 2008 à 17:22
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
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