On va rester dans les char parce que les strings j'ai jamais vu l'intérêt à part que ca donne un peu plus de poids au programme:
char nom[20]; printf("Hey, comment t'appelles-tu?!\n");
gets(nom); if(strcmp(nom, "Vlad") == 0){ printf("Oh, Vlad! Quel joli nom!\n"); } else{ printf("Tu ne t'appelles pas Vlad? Quel boulet!\n"); }
la comparaison se joue ici:
if(strcmp(nom, "Vlad") == 0)
string compare: si les valeurs comparées par strcmp() sont identiques, elle renvoie 0.
Tu trouveras aussi la commande strcpy(), qui sert elle non pas à comparer deux string, mais à copier une string dans une autre:
printf("nous allons maintenant assigner la valeur Vlad à la variable nom:");
strcpy(nom, "Vlad"); printf("nom = %s", nom);
retiens également qu'une valeur propre à une string (oui, des lettres, si tu préfères) se donne entre guillemets anglais " " sinon, ce sera interprété comme un nom de variable.
V1944 > fgets c'est surtout mieux parce que ça vérifie la taille des données lues, et si on décide de faire un truc propre, autant utiliser fgets
gimli > La fonction strcmp() compare deux chaînes (dans <string.h>), mais je te conseillerais plutôt d'apprendre bien à les utiliser avant de vouloir faire n'importe quoi, ça ne marche aps exactement comme les variables classiques.
Bah merci mais pour l'ionstant sa va je vais aller me coucher et réfléchir a d'autre phrase marrante que Jean(Mon IA) pourrait dire en trout cas il dira de la pub pour ce site
Engineer in Training please wait fr social life ---- Vist www.charybde.be
La fonction strcmp() compare deux chaînes (dans <string.h>), mais je te conseillerais plutôt d'apprendre bien à les utiliser avant de vouloir faire n'importe quoi, ça ne marche aps exactement comme les variables classiques.
stdlib ou stdio suffit. Si il fallait inclure string.h, je lui aurait dit:
nom = "Vlad";
Mais je ne l'ai aps fait pour les raisons énoncées ci-dessus.
strcmp est défini dans string.h et nulle part ailleurs à ce que je sache (enfin, certainement pas dans le reste de la bibliothèque standard C).
Tu confonds pas avec la classe string (bibliothèque standard C++) ?
des fois les compilateurs linkent tout seul les fonction standards, mais c'est pas bon. strcmp et strcpy sont définis dans <tsing.h> et c'est tout, après c'est ton compilateur qui peut être trop souple, je te conseille quand même d'inclure ce header car si tu compiles sur une autre implémentation ça va peut être pas se passer pareil.
En C commen t fait t'on avec le char pour entrer du texte avec un scanf?
Entrer du texte
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.