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

 


Dernière réponse
Sujet : [C/C++] Passage d'argument sur _beginthread
antsite D'accord je comprends mieux  :)  
Merci bien

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
antsite D'accord je comprends mieux  :)  
Merci bien
LeGreg

antsite a écrit a écrit :

Comment faire alors pour résoudre ce problème ?  




 
utiliser une chaine dont la duree de vie n'est
pas limitee par le thread appelant.
C'est a dire soit une chaine declaree en global
soit une chaine allouee sur le tas
avec new. (le thread doit donc dans ce cas
faire le delete correspondant)
 
LEGREG

youdontcare static char buf[] = "test";
antsite Comment faire alors pour résoudre ce problème ?
LeGreg peut-etre parce que buf est une chaine allouee sur la pile donc
pointeur buf non valide apres l'appel a _beginthread?
 
LEGREG
antsite Salut,
Je souhaite passer un argument à la fonction _beginthread :
 
main()
{
int n = 5;
_beginthread(MonThread,0,(void*)n);
}
 
void MonThread(void*)
{
 printf("Le nombre : %d",id);
 _endthread();
}
 
La ça marche y pas de problèmes. Seulement je souhaite passer un char* et non un int :
 
main()
{
char buf[] = "test";
_beginthread(MonThread,0,(void*)buf);
}
 
void MonThread(void *id)
{
 printf("La chaine : %s",id);
 _endthread();
}
 
et la ça marche pas (ça compile mais c'est pas la chaine voulue qui est affichée), quelqu'un peut-il m'aider ? Merci

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)