neoTHGLF
Messages postés65Date d'inscriptiondimanche 7 septembre 2003StatutMembreDernière intervention17 décembre 2007 8 sept. 2004 à 19:56
je me suis mal exprimé.
Voici un bout de source :
int vncracker_client_to_vncracker_server_connect_ask_for_passwords(SSL *SSL_socket){
/* Declarations */
charbuffer;
char*arglist[5];
int counter = 0;
/* End of declarations */
while( counter != 5 ){
if((SSL_read(SSL_socket,buffer,sizeof(buffer))) <= 0){
cout<<"Unable to receive new passwords, retrying... in 30 secondes "<<flush;
}
/*ATTENTION ICI CA NE MARCHE PAS*/
arglist[counter] = buffer;
/*ATTENTION ICI CA NE MARCHE PAS*/
counter++;
}
return 1;
}
je veux que
tant que counter est différent de 5
arglist[0] recoive la chaine de caractère contenue dans buffer.
exemple : arglist[0] contiendrait la chaîne buffer de la première boucle de counter.
arglist[1] contiendrait la chaine "test 1"
...
arglist[n] contiendrait la chaine "test n"
donc si par exemple buffer contient "test à la con" je veux que "test à la con" soit attribué à arglist[0].
Or ça ne marche pas. Je peux mettre une chaine de caractères dans arglist[0] si et seulement si je le fais au moment de la déclaration :
char *arglist[1] = {"test à la con"};
Vous n’avez pas trouvé la réponse que vous recherchez ?
neoTHGLF
Messages postés65Date d'inscriptiondimanche 7 septembre 2003StatutMembreDernière intervention17 décembre 2007 8 sept. 2004 à 21:16
Non, en fait j'avais raison de me prendre la tête, j'ai crié victoire trop vite. Je réexplique encore mon problème, j'ai décidement du mal :
je veux stocker dans un tableau t constitué de 5 éléments e,
les différentes adresses mémoire x
des différents éléments e' d'un tableau char c.
C'est à dire que je veux que :
t[e2] = adresse mémoire de c[e'2] traduction :
element e2 du tableau t = adresse mémoire de l'élement e'2 du tableau c
ce qui donne en écriture c++ :
t[2] = &c[2]
donc normalement si je fais : cout<<t[2]<<flush;
j'aimerais un résultat du genre 0x????????
et que quand je fais un : cout<<*t[2]<<flush;
j'obtienne la valeur contenue dans c[2]
neoTHGLF
Messages postés65Date d'inscriptiondimanche 7 septembre 2003StatutMembreDernière intervention17 décembre 2007 9 sept. 2004 à 18:53
Merci à tous de votre aide.
seulement ce n'est pas encore ça, c'est presque ça ! L'idée est tout à fait là ! le seul truc c'est que je veux que char *mot soit dynamique :
donc si buffer contient la chaine "bonjour" quand compteur = 0, je veux que mot[0] contienne "bonjour!"
si buffer contient la chaine "blablabla" quand compteur = 1, je veux que mot[1] contienne la chaine "blablabla"
ce qui reviendrait à faire char *mot[] = { "bonjour!" } seulement quand on fait une délaration de ce genre, mot[0] est constant et la chaine stocké à mot[0] ne peut pas être changée ! Or mon programme doit changer régulièrement la chaine contenue dans mot[0];