tableau de chaine de caractere...

tableau de chaine de caractere... - C++ - Programmation

Marsh Posté le 28-04-2004 à 14:08:13    

bonjour :jap: ,
voila une fonction de mon programme, je ne comprend pas pr quoi il faut que je mette un tableau de de char[128] parceque lorsque je met char seulement, le prog ne fonctionne pas, et qd je met char[2] il fonctionne...
quelqu' un pourrait-il m' en exppliquer la raison ?

Code :
  1. for (i = 0; i < 8; i++)
  2.   { 
  3.   char mot[128];
  4.      
  5.   cin>>mot; 
  6.       if(stricmp(mot, "mouton" )== 0)//compare le char mot et la chaine "mouton"...
  7.       {
  8.       cout<<"cool !!!\n vous avez trouve le mot de passe. " << endl;
  9.       cout << "le programme va quitter dans 2 secondes..." << endl;
  10.       Sleep (6500);
  11.       cout << " aurevoir..." << endl;
  12.       Sleep (1000);
  13.       return 0;//quite le prog...
  14.       }

Reply

Marsh Posté le 28-04-2004 à 14:08:13   

Reply

Marsh Posté le 28-04-2004 à 14:09:26    

aie aie aie ça va troller encore.

Reply

Marsh Posté le 28-04-2004 à 14:11:05    

std::string :o
endl ca pue :o
stricmp aussi au passage :o

Reply

Marsh Posté le 28-04-2004 à 14:13:28    

euh ?...pourquoi ça pue ??? 8-o
jaime bien meuoua ! et sinon t' as pas la reponse a ma question stp ?
++ ;-)

Reply

Marsh Posté le 28-04-2004 à 14:14:00    

Citation :


cout<<"cool !!!\n vous avez trouve le mot de passe. " << endl;
cout << "le programme va quitter dans 2 secondes..." << endl;  
Sleep (6500);


 
Utilise std::string à la place des char *.


Message édité par HelloWorld le 28-04-2004 à 14:14:32
Reply

Marsh Posté le 28-04-2004 à 14:14:31    

il faut que j' include string.h pr utiliser std::string je suppose ?

Reply

Marsh Posté le 28-04-2004 à 14:14:54    

Lol non. <string> sans le h, c tres important.

Reply

Marsh Posté le 28-04-2004 à 14:16:50    

oui bien sure..
merci
++

Reply

Marsh Posté le 28-04-2004 à 14:20:21    

vous n' avez donc pas de reponse a ma premiere question ?
pourquoi " ça pue" ?
comment utilise-t-on std::string svp ?
++

Reply

Marsh Posté le 28-04-2004 à 14:21:07    

char mot[128];
mot est un tableau de caractères.
mot pointe vers 1er caractère du tableau. (mot <=> &mot[0])
on peut donc passer mot en paramètre d'une fonction nécéssitant un paramètre de type char *
 
char mot;
mot est un caractère.


Message édité par blackgoddess le 28-04-2004 à 14:21:26

---------------
-( BlackGoddess )-
Reply

Marsh Posté le 28-04-2004 à 14:21:07   

Reply

Marsh Posté le 28-04-2004 à 14:23:10    

ha d' accord...merci blackgodess, je vais essayer ça...
++ ;-)

Reply

Marsh Posté le 28-04-2004 à 14:25:40    

bizarre, qd je met char[2] je peut taper au moin une trentaine de caractere sans que sa plante...

Reply

Marsh Posté le 28-04-2004 à 14:27:54    

C'est du bol...
Mais c'est exactement comme ça que des mecs arrivent à pirater des bécannes, car tout ce qui déborde est écrit sur la pile, et donc on peut y mettre ce qu'on veut...
Tu compiles avec quoi ?

Reply

Marsh Posté le 28-04-2004 à 14:32:43    

Dev c++ 4.9.8.0...
c' est koi lequivalant de cout << avec la class string ?
thanks
++

Reply

Marsh Posté le 28-04-2004 à 14:34:40    

enfin, ça met fait quitter ma boucle for() mais le programme ne bug, pas, c' est sa que je voulais dire...


Message édité par bibije le 28-04-2004 à 14:37:04
Reply

Marsh Posté le 28-04-2004 à 14:39:10    

Citation :

c' est koi lequivalant de cout << avec la class string ?


std::cout...

Citation :

enfin, ça met fait quitter ma boucle for(;  mais le programme ne bug, pas, c' est sa que je voulais dire...


Test ça pour voir :

Code :
  1. for (i = 0; i < 8; i++)
  2.     { 
  3.         char mot[2];           
  4.         int un = 1;
  5.         cin>>mot; 
  6.         cout << un;
  7.     }


Entre 30 car et dis-moi combien vaut un ?

Reply

Marsh Posté le 28-04-2004 à 14:49:07    

jai pas bien compris a quoi sa servait de mettre int un=1; cout << un;
tu peux mexpliquer stp ?

Reply

Marsh Posté le 28-04-2004 à 14:53:51    

lorsque quil y a deux, la boucle sexecute 1 fois, donc sa mecrit "1", lorsque je met 30, et que jecris "salut" par exemple, sa me met juste "1" et lorsque je met 3 "salut" sa me met 3 "1"...et si par exemple je met "salut" 8 fois et bien sa quite la boucle...

Reply

Marsh Posté le 28-04-2004 à 14:55:07    

ou alors pr que tu comprenne mieux je peux tenvoyer lexe si tu veux...

Reply

Marsh Posté le 28-04-2004 à 15:02:09    

BIBIJE a écrit :

jai pas bien compris a quoi sa servait de mettre int un=1; cout << un;
tu peux mexpliquer stp ?


 
ca s'appelle un EXEMPLE  [:everything4free]  
 
bon la je crois que retour à la case base du C++ s'impose ...

Reply

Marsh Posté le 28-04-2004 à 15:05:54    

Code :
  1. #include <iostream>
  2. int main()
  3. {
  4.     char msg[ 2 ];
  5.     int un = 1;
  6.     std::cin >> msg;
  7.     std::cout << un;
  8. }


 

Citation :


abcdef
26213

Reply

Marsh Posté le 28-04-2004 à 15:07:05    

Citation :

jai pas bien compris a quoi sa servait de mettre int un=1; cout << un;  
tu peux mexpliquer stp ?


 
oui ben heuresement que jai compris ce que c' etais, mais ça me parraissait tellement simple que je me demmandais a quoi sa servait ...voila tout :-)
 

Citation :

Test ça pour voir :  
 
Code :
 
   
      for (i = 0; i < 8; i++)  
      {    
            char mot[2];              
            int un = 1;  
            cin>>mot;    
            cout << un;  
      }  
   
 


 
qu' elle etait lutilité de tester ça ?
 
 
++

Reply

Marsh Posté le 28-04-2004 à 15:30:06    

imaginez ma tronche quand je rentre de la fac un jour pluvier et que je vois des abruits écrire
 
            char mot[2];              
            cin>>mot;

Reply

Marsh Posté le 28-04-2004 à 15:31:54    

la photo... la photo... :D


---------------
Fleur de métal, entité invulnérable, vêtue tant bien que mal, d'une muraille inébranlable...
Reply

Marsh Posté le 28-04-2004 à 15:36:44    

Taz a écrit :

imaginez ma tronche quand je rentre de la fac un jour pluvier et que je vois des abruits écrire
 
            char mot[2];              
            cin>>mot;


 
[:totoz] ???

Reply

Marsh Posté le 28-04-2004 à 15:38:40    

Citation :

qu' elle etait lutilité de tester ça ?


Toi je sais pas comment tu fais pour afficher 1, moi, la magie veut que j'ai 26213 si j'entre "abcdef".

Reply

Marsh Posté le 28-04-2004 à 20:29:38    

pour citer personne :
 
std::string bordel en c++  :o  
 
 :D

Reply

Marsh Posté le 28-04-2004 à 20:32:14    

déjà c'est pas une façon de lire un seul caractère :o
 
et BORDEL DE MERDE CAI QUOI CE CHAR* A LA CON MEME PAS UTILISE AVEC GETLINE BORDEL TA CHATTE UTILISEZ std::string :o

Reply

Marsh Posté le 28-04-2004 à 20:44:06    

la version stroupstrup est un peu plus soft  :D
 
"Minimize the use of arrays and C-style strings"
 

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed