Bonjour,
je n'arrive pas à convertir une string en char*, je sais que ca parait tout bete, mais je bloque, si quelqu'un pouvait m'aider, ce serai super.
Voici mon code
void receive ( size_t sz, char* buf )
{
size_t nb=0,i;
string tmp, err;
for( i=0; i < sz ; )
{
char* recpt=new char[65535];
nb=recv(id_socket,&recpt[0],(int)((sz-i-1)%65535+1),0);
if(nb==0)
break;
for(int j=0;j<nb;j++)
tmp+=recpt[j];
i+=nb;
cout << "nb : " << nb << endl;
delete(recpt);
}
string::const_iterator it=tmp.begin();
int nbtmp=0;
while(it!=tmp.end())
{
buf[nbtmp++]=*it++;
}
/* ou
strncpy(&buf[0],tmp.c_str(),tmp.size()); marche pas non plus
*/
cout << "Taille de la string : " << tmp.size() << " celle de la chaine : " << strlen(buf)-1 << endl;
}
Voila, dans ma string, j'ai toutes les infos qui m'interesse, mais la ou ca plante c'est pour le mettre dans un char*.
Et une trace à l'execution :
#> prog.exe
#> ...
#> Taille de la string : 113788 celle de la chaine : 3
#> ...
La je bloque vraiment, si quelqu'un sait d'ou ca peut venir.
Merci
TuRn3r