Hur gör man för att göra om en siffra till string. T.ex. om jag har en int, i, som innehåller 3 och så har jag en string, s, som jag vill få att innehålla en etta, hur gör jag? Jag kan ju inte ta (string)i för då blir det ett tecken med 3 i ASCII-tabellen. Eller har jag fått det helt om bakfoten?
ännu mera string. :)
6 svar · 230 visningar · startad av Nexus86
Absolut ingen som vet? Om jag säger såhär, hur MessageBox:ar man en int?
Att ingen svarat inom 17 minuter betyder inte att ingen vet. Försök ha lite tålamod ;)
Jaja men det är så att jag behöver veta för jag håller på med en sak. :) Det känns längre när man väntar.
Jag förstår att du är ivrig att lära dig :), men försök hålla dig. Det anses fult att "bumpa" inlägg och man får acceptera att svaret kan dröja ibland.
Till saken. Det finns flera sätt att göra det du frågar efter, tre exempel nedan. Jag tycker det med stringstream är det överlägset bästa.
#include <windows.h>
#include <sstream>
void main()
{
{
char buf[256];
int i = 123;
sprintf(buf, "i är %d (hex:0x%x)", i, i);
MessageBox(GetDesktopWindow(), buf, "Test av sprintf", MB_OK);
}
{
char buf[256] = "i är";
int i = 123;
_itoa(i, buf + strlen(buf), 10);
strcat(buf, " (hex:0x");
_itoa(i, buf + strlen(buf), 16);
strcat(buf, ")");
MessageBox(GetDesktopWindow(), buf, "Test av _itoa och strcat", MB_OK);
}
{
std::stringstream message;
int i = 123;
message << "i är" << i << " (hex:0x" << std::hex << i << ')';
MessageBox(GetDesktopWindow(), message.str().c_str(), "Test av stringstream", MB_OK);
}
}
Okej.. Tack! Den ser bäst ut. Eller iallafall lättast. :)
int MessageBoxf(HWND _hWindow, const char *_pTopic, int _Buttons, const char *_pFormat, ...)
{
char Buffer[4092];
va_list List;
va_start(List, Format);
vsprintf(Buffer, Format, List);
va_end(List);
MessgeBox(hWindow, Buffer, _pTopic, _Buttons);
}
Något sånt borde funka... ej testat dock..