PROBLEME DE CONCATENATION

Signaler
Messages postés
233
Date d'inscription
jeudi 4 juillet 2002
Statut
Membre
Dernière intervention
5 juillet 2008
-
Messages postés
233
Date d'inscription
jeudi 4 juillet 2002
Statut
Membre
Dernière intervention
5 juillet 2008
-
PROBLEME DE CONCATENATION
----------------------

--probleme :
Je veux concaténer 2 chaines mais ça foire
à l'exécution. Si vous savez pourquoi dîtes le moi
Merci pour votre aide

--source :
char *var; //tableau de caracteres saisie
char *tot; //tableau de la chaine à executer

//j'ai une textbox ou je recupere le texte et je le met dans var
GetDlgItemText (Dlg,IDC_EDIT1,var,255);

//ensuite je veux concaténer mais ça me fait une erreur sur le strcat
//(ça passe à la compilation mais à l'exécution ça foire
tot = strcat ("C:\\Program Files\\Windows Media Player\\MPLAYER2.EXE ",var);

//si je met strcat(var,"C:\\Program Files\\Windows Media Player\\MPLAYER2.EXE"); ça marche mais c pas ce que je veux

//ensuite j'exécute
WinExec (var,0);

@++ 24.KaraS

2 réponses

Messages postés
6
Date d'inscription
samedi 9 novembre 2002
Statut
Membre
Dernière intervention
10 novembre 2002

tot = strcat ("C:\\Program Files\\Windows Media Player\\MPLAYER2.EXE ",var);


ça me parait bizarre, sur la MSDN on a en premier param la chaine destination :

char *strcat( char *strDestination, const char *strSource );


strcat renvoie la chaine destination à laquelle a été concaténée strsource.

Dans ce cas ta chaine dest est bien une chaine mais ce n'est pas une variable.

en passant inutile de faire
tot = strcat(tot, "var")
strcat(tot, "var") revient à la meme chose

fais attention à bien réserver l'espace en mémoire car dans ton appel à getdlgitemtext, var doit correspondre à un espace mémoire réservé.

Bon courage
Jérémie
Messages postés
233
Date d'inscription
jeudi 4 juillet 2002
Statut
Membre
Dernière intervention
5 juillet 2008

Merci de ton aide
Maintenant ça marche :)
@++ 24.KaraS