Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1903 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [résolu] Probleme pour connaitre la taille d'une chaine de caracteres

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu] Probleme pour connaitre la taille d'une chaine de caracteres

n°1550196
Zoltan87
Posté le 26-04-2007 à 17:44:24  profilanswer
 

Bonjour a tous !
 
j'ai un probleme lorsque je veux connaitre la taille d'une chaine de caracteres, pour cela e fais :
 

Code :
  1. bool Jeu::jouerCommande(string commande){
  2. int taille;
  3. taille = commande.length();
  4. if ( taille == 2 ){
  5.  if(  ( commande[0] >= 0 && commande[0] <= 9 )  && ( ( commande[1] >= 'A' && commande[1] <= 'Z' ) ) ){
  6.   unsigned int conv = commande[1] - 'A';
  7.   if ( plateau_.verifierPosition(conv, commande[0]) ){
  8.    plateau_.chercher(conv, commande[0]);
  9.    return true;
  10.   }
  11.  }
  12.  if( ( ( commande[1] >= 0 && commande[1] <= 9 )  &&  ( commande[0] >= 'A' && commande[0] <= 'Z' ) ) ){
  13.   unsigned int conv = commande[0] - 'A';
  14.   if ( plateau_.verifierPosition(conv, commande[1]) ){
  15.    plateau_.chercher(conv, commande[1]);
  16.    return true;
  17.   }
  18.  }
  19. }
  20. if ( commande.length() == 3 ){
  21.  if(    (( commande[0] >= 'A' && commande[0] <= 'Z' ) &&(( commande[1] >= 0 && commande[1] <= 9 )&&( commande[2] >= 0 && commande[2] <= 9 )))){
  22.   unsigned int conv = commande[0] - 'A';
  23.   unsigned int a = commande[1] * 10 + commande[2];
  24.   if ( plateau_.verifierPosition(conv,a) ){
  25.    plateau_.chercher(conv,a);
  26.    return true;
  27.   }
  28.  }
  29.  if (       (( commande[3] >= 'A' && commande[3] <= 'Z' ) &&(( commande[0] >= 0 && commande[0] <= 9 )&&( commande[1] >= 0 && commande[1] <= 9 )))     ){
  30.    unsigned int conv = commande[3] - 'A';
  31.    unsigned int a = commande[0] * 10 + commande[1];
  32.    if ( plateau_.verifierPosition(conv,a) ){
  33.     plateau_.chercher(conv,a);
  34.    return true;
  35.    }
  36.  }
  37. }
  38. return false;
  39. }


 
et le probleme c'est que quelle que soit la position a verifier (stockée dans ma classe), ca me renvoit toujours que celle ci n'est pas valide (comme si j'avais taper une position impossible).
Et lorsque je debuggue, le debuggueur stoppe sur la ligne:
 

Code :
  1. taille = commande.length();


 
puis j'ai une fenetre "Editeur de fichier C++" qui s'ouvre me disant que le fichier iostream est introuvable a l'emplacement indiqué alors que pour afficher le reste, tout a bien fonctionné. Et ce probleme arrive sur différents ordinateurs.
 
Et j'ai essayer aussi de mettre taille à 2 puis de tester le reste avec ca, mais des qu'il faut faire une "operation" sur un string comme commande[0], je retrouve le meme probleme.
 
J'utilise de logiciel Eclipse et je debute, soyez indulgents s'il vous plait :)
 
Merci beaucoup


Message édité par Zoltan87 le 30-04-2007 à 10:49:50
mood
Publicité
Posté le 26-04-2007 à 17:44:24  profilanswer
 

n°1550201
_darkalt3_
Proctopathe
Posté le 26-04-2007 à 17:54:02  profilanswer
 

- utilise la méthode compare pour analyser ce que contient ta string. Tout ces 'if' n'ont pas leur place ici.
- vérifie ce que contient "commande" au debugger à la premiere ligne de ce bloc.


---------------
Töp of the plöp
n°1550207
Zoltan87
Posté le 26-04-2007 à 18:01:17  profilanswer
 

je ne connais pas la methode compare :s
le debuggueur me dis que commande contient la valeur 0x22ec90 :s
 
mais il est aussi ecrit *_M_p = 'A' je ne comprend pas ce que c'est
 
(pour info j'avais taper A0 (c'est le chiffre zero en deuxieme)

Message cité 1 fois
Message édité par Zoltan87 le 26-04-2007 à 18:03:18
n°1550371
_darkalt3_
Proctopathe
Posté le 27-04-2007 à 09:18:05  profilanswer
 

Zoltan87 a écrit :

je ne connais pas la methode compare :s


Ben lis la doc avant de coder. C'est dans la doc de la stl std::string.


---------------
Töp of the plöp

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [résolu] Probleme pour connaitre la taille d'une chaine de caracteres

 

Sujets relatifs
Problème d'innerHTML[Résolu]Boucle et lecture de fichiers...
VB:Problème d'ajout d'un tuple[ASP] probleme recordset ingorés
[ANTLR] Problème pour traduire l'antislash[Urgent] Diaporama en javascript (Problème de chargement)
PHP et Active Directory (fonction ldap_search) [résolu] [MYSQL/PHP]Probleme lors d'un import CSV
Changer la taille du heap space de JVMproblème: Pagination moteur de recherche
Plus de sujets relatifs à : [résolu] Probleme pour connaitre la taille d'une chaine de caracteres


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR