Integer als Array



  • Hi Leute,
    habe folgendes Problem:
    Ich möchte in einer Zahl mit 16 Stellen,
    einzeln auf diese zugreifen können...
    Aber die Zahl möchte ich ganz eingeben und nicht "zerhackstückelt"
    (nummer[0] = 1, nummer[1] = 2, nummer[2] = 3) => Zahl 123
    Sondern ganz...
    Hab folgendes Versucht, es klappt aber ganz und garnicht ^^
    Er liest total den falschen Speicher:

    int *nnummer;
    	nnummer = new int[17];
    	*nnummer = 1234567890123456;
    
    	if(nummer[0] == 0)
    	{
    	SendMessage(edit, WM_KEYDOWN, 0x30, 0x60001);
    	SendMessage(edit, WM_CHAR, 0x30, 0x60001);
    	SendMessage(edit, WM_KEYUP, 0x30, 0x60001);
    	}
    	if(nummer[0] == 1)
    	{
    	SendMessage(edit, WM_KEYDOWN, 0x31, 0x60001);
    	SendMessage(edit, WM_CHAR, 0x31, 0x60001);
    	SendMessage(edit, WM_KEYUP, 0x31, 0x60001);
    	}
    	if(nummer[0] == 2)
    	{
    	SendMessage(edit, WM_KEYDOWN, 0x32, 0x60001);
    	SendMessage(edit, WM_CHAR, 0x32, 0x60001);
    	SendMessage(edit, WM_KEYUP, 0x32, 0x60001);
    	}
    

    Grüße & Frohes Fest :xmas1:



  • 1. Ich habe den Verdacht, dass 16 Stellen doch arg viel für einen int sind 😉 Schau doch mal in std::numerc_limits<int>::max()

    2. Schreibe dir doch eine Klasse, welche __irgendeine__ Zahl als String annimmt und diese dann Zifferweise in einem internen char-Vector speichert. Dann einfach noch nen kleiner operator()(unsigned int iZugriffsPositon) und das hast deine Super-Zahl 🙂


Anmelden zum Antworten