Comment détecter un char[] à l'intérieur d'un if(){?
Résolu
AdamDuForum
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
AdamDuForum Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
AdamDuForum Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Bonjour * !!!????
Cette méthode, avec leifne fonctionne pas, mais je ne sais pas pourquoi. J'aurais besoin d'aide.
J'ai fait une version
#include <iostream>pour ceux qui n'utilisent pas
#include <stdio.h>.
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <string> #include <string.h> #include <cstring> #include <iostream> #include <cstdlib> int main(){ char help[30]; //cout << "tape help pour de l'aide"; printf("tape help pour de l'aide"); //cin >> help; scanf("%s", help); if(help == "help"){ //cout << "ceci est utile"; printf("ceci est utile"); } else{ //cout << "Bonjour " << help << " !"; printf("Bonjour %s !", help); } return 0; }
Vous pouvez me faire ajouter des
#include, ça ne me dérange pas.
S'il vous plait... Merci d'avance..!?
A voir également:
- If char
- Coco char - Accueil - Réseaux sociaux
- Remplaçant de Coco : quelles solutions pour tchater gratuitement en ligne ? - Accueil - Réseaux sociaux
- Char(10) excel francais ✓ - Forum Excel
- Expecting value: line 1 column 1 (char 0) ✓ - Forum MacOS
- If exist ✓ - Forum Autoit / batch
2 réponses
'lut,
Inversement tu peux mettre ton entrée dans un string_view, et comparer à des littéraux; pas d'allocation dynamique non plus:
Quelque soit ton choix, fait attention à
- en C++ toutes versions, on peut comparer à un
std::string
:#include <string> ... if(help == std::string("help")){
- en C++ 17 et plus, on peut comparer à un
std::string_view
, qui n'allouera pas de mémoire dynamiquement:#include <string_view> ... if(help == "help"sv){
Inversement tu peux mettre ton entrée dans un string_view, et comparer à des littéraux; pas d'allocation dynamique non plus:
#include <string_view> ... std::string_view command(help); if(command == "help"){
- en C++ et C, avec la bibliothèque standard:
#include <string.h> // ou <cstring> si en C++11 ou plus ... if(strncmp(help, "help", 30) == 0){
.
Quelque soit ton choix, fait attention à
scanfqui peut facilement déborder de ton buffer de 30 octets; il faut lui spécifier une taille maximum.
AdamDuForum
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
je ne comprends pas totalement ce que tu veux dire, pourrais-tu me donner un exemple avec le programme que j'ai écris plus haut stp?
ElementW
Messages postés
4814
Date d'inscription
Statut
Contributeur
Dernière intervention
1 223
>
AdamDuForum
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
Le code que je donne est déjà un tas d'exemples de modifications de ton programme... où tu remplaces la 1ère ligne de ton
par ce qui est donné. Et les includes vont en haut.
AdamDuForum
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
Ok Ok, ça fonctionne! Merci Beaucoup pour ton aide, ça m'a été vraiment utile.
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, je pense que tu ne peux pas faire une simple comparaison, il faut utiliser une fonction telle que strcmp.