2010-04-13 5 views
0

J'ai un programme qui génère/'lance' deux dés. Je voudrais sortir ces deux valeurs à un MessageBox, par exemple: "Dice Rolled: 1 et 3".Concaténation d'un entier à un LPCWSTR/string

Le problème que j'ai est de savoir comment concaténer ces entiers à la chaîne. Le code que j'ai à ce jour est le suivant:

MessageBox(NULL,     // hWnd  - window owner (none) 
      L"Dice:",    // lpText - text for message box 
      L"Dice rolled:",  // lpCaption - title for message box 
      MB_OK |    // uType  - make ok box 
      MB_ICONEXCLAMATION); 

Quelle serait la meilleure façon de procéder?

Merci d'avance.

Répondre

2

Le problème est que C ne supporte pas vraiment les chaînes en tant que type de données, de sorte que vous devrez simuler des chaînes utilisant des tableaux de caractères. Par exemple:

int die1, die2; /* need to be set somehow */ 
wchar_t dice[100]; 

wsprintf(dice, L"Dice: %d and %d", die1, die2); 
MessageBox(NULL, dice, L"Dice Rolled:", MB_OK | MB_ICONEXCLAMATION); 
+0

Merci, cela a fonctionné parfaitement pour moi tout de suite. Y a-t-il un moyen de l'utiliser avec LPCWSTR, puisque c'est ce qu'on nous a enseigné et que je ne suis autorisé à utiliser que jusqu'à présent. –

0

Vous devez utiliser sprintf pour créer une chaîne:

sprintf(s, "Dice rolled: %d and %d", dice1, dice2)