Pb _beginthreadex et manipulation de char* ou TCHAR
grajovski
Messages postés3Date d'inscriptionvendredi 4 novembre 2005StatutMembreDernière intervention16 mars 2006
-
14 mars 2006 à 14:54
grajovski
Messages postés3Date d'inscriptionvendredi 4 novembre 2005StatutMembreDernière intervention16 mars 2006
-
16 mars 2006 à 17:05
Hello,
Je développe une application impliquant plusieurs thread (port COM + calcul scientifique temps réel), bref un beau merdier. Tout allait bien jusqu'à ce que j'utilise la structure suivante :
Dès lors que dans un thread j'utilise des pointeurs COMMAND* pcmd et manipule des chaîne de caractères notamment via strcpy et sprintf le prog perd les pédales et attribue de nouvelles adresses aux pointeurs ???
char str1[64];
int i = sprintf( str1,"%s %d", sz, k );
return pcmd->next;
}
Si je supprime la ligne "
int i = sprintf( string,"%s %d", sz, k ); " tout rentre dans l'ordre (ou presque) et c'est ainsi pour toutes les fonctions appelées depuis un thread.
JE NE COMPRENDS PAS POURQUOI ET SURTOUT COMMENT Y REMEDIER !
grajovski
Messages postés3Date d'inscriptionvendredi 4 novembre 2005StatutMembreDernière intervention16 mars 2006 14 mars 2006 à 15:09
Ok, pb résolu en 2mn après avoir posté le msg, alors que je cherchais depuis 2j. Dans le cas de structure chaînées (se pointant les uns les autres) il vaut mieux utiliser :