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?
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);
}
}