webForumDet fria alternativet

ännu mera string. :)

6 svar · 230 visningar · startad av Nexus86

Nexus86Medlem sedan okt. 20023 030 inlägg
#1

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?

Nexus86Medlem sedan okt. 20023 030 inlägg
#2

Absolut ingen som vet? Om jag säger såhär, hur MessageBox:ar man en int?

developerMedlem sedan aug. 2001458 inlägg
#3

Att ingen svarat inom 17 minuter betyder inte att ingen vet. Försök ha lite tålamod ;)

Nexus86Medlem sedan okt. 20023 030 inlägg
#4

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.

developerMedlem sedan aug. 2001458 inlägg
#5

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);
	}
}
Nexus86Medlem sedan okt. 20023 030 inlägg
#6

Okej.. Tack! Den ser bäst ut. Eller iallafall lättast. :)

matricksMedlem sedan maj 200221 inlägg
#7

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..

126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)