Chaine de caractère dans une condition [Résolu]
Dernière réponse : dans Programmation
Bonjour à tous !
Je recontre un petit soucis dans l'un de mes programmes en C.
Voici un exemple de ce que je voudrais réaliser :
C'est vraiment un résumé, la structure possède d'autre variables théoriquement,etc... mais j'ai cibler le principal ici pour vous expliquer où se situe le problème.
Donc sachant que "code" est une chaine de caractères, lorsque cette chaine forme le mot "oui", je voudrais que l'on écrive "code ok". Mais visiblement ça ne fonctionne pas, j'ai un warning dans mon terminal :
Je peux donc exécuter quand même le programme, mais j'ai une erreur de segmentation au niveau du "if" par la suite.
Quelqu'un aurait-il une idée ?
En vous remerciant
Je recontre un petit soucis dans l'un de mes programmes en C.
Voici un exemple de ce que je voudrais réaliser :
//prog.h
typedef struct
{
char code[5];
}etudiant
//prog.c
void prog (void)
{
etudiant e;
if(strcmp(e.code,"oui")==0)
printf("code ok");
else printf ("erreur");
}
C'est vraiment un résumé, la structure possède d'autre variables théoriquement,etc... mais j'ai cibler le principal ici pour vous expliquer où se situe le problème.
Donc sachant que "code" est une chaine de caractères, lorsque cette chaine forme le mot "oui", je voudrais que l'on écrive "code ok". Mais visiblement ça ne fonctionne pas, j'ai un warning dans mon terminal :
prog.c:103: attention : passing argument 1 of ‘strcmp’ makes pointer from integer without a cast
Je peux donc exécuter quand même le programme, mais j'ai une erreur de segmentation au niveau du "if" par la suite.
Quelqu'un aurait-il une idée ?
En vous remerciant
Autres pages sur : chaine caractere condition resolu
Lassé par la pub ? Créez un compte
KangOl a dit :
bizarre ca...compilateur ? plateforme ?
tu as la meme erreur avec le code "allégé" que tu as posté ?
Merci de ton aide pour commencer
Je tourne sous Linux Sabayon, donc j'utilise le terminal pour compiler (donc avec gcc *.c -o prog).
Alors par contre j'vais rebooté sur Sabayon là parce que j'étais sous Vista et j'rééditerai mon post ensuite.
Mais j'peux déjà te dire que j'ai testé sur un autre Pc (Windows XP) avec "dev c++" le code allégé ci dessus et ça fonctionne sans problème.
En revanche j'pense avoir oublier le #include<stdlib.h> dans mon "vrai" programme...ça pourrait avoir un rapport ?
... j'vais aller voir ça...
J'suis débutant au fait ... ça j'l'avais pas précisé !
Ok...alors le programme allégé tourne aussi sans problème !
J'vais revoir encore celui d'origine pour essayer de trouver d'ou viens le soucis...
Par contre je sais que si j'veux que ce soit un nombre qui valide l'affichage "code ok", ça marche nikel !
Dans ce genre là quoi :
J'vais revoir encore celui d'origine pour essayer de trouver d'ou viens le soucis...
Par contre je sais que si j'veux que ce soit un nombre qui valide l'affichage "code ok", ça marche nikel !
Dans ce genre là quoi :
//prog.h
typedef struct
{
int code;
}etudiant;
//prog.c
void prog (void)
{
etudiant e;
if(e.code==1)
printf("code ok" );
else printf ("erreur" );
}
Google est ton ami (penses-y ...)
http://c.developpez.com/tutgcc/c207.php (ce n'est qu'une recherche primaire, à toi d'effectuer une recherche plus approfondie)
http://c.developpez.com/tutgcc/c207.php (ce n'est qu'une recherche primaire, à toi d'effectuer une recherche plus approfondie)
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumRetourner chaine de caractère
- ForumConcaténer chaine de caractère en c
- ForumVba guillemets dans chaine de caractère
- ForumRemplacer chaine de caractère avec fichiers
- ForumCondition chaine caractere
- ForumTrouver un caractère dans une chaine vba
- ForumChaine caractere batch
- ForumChaine de caractere string
- ForumChaine de caractere s expression reguliere
- ForumRenvoyer un e chaine de caractere
- Voir plus
Ca marche, j'en suis content.