Zahlen aus array zusammenfügen

Hallo zusammen,

vorab der Ausschnitt meines Programmes:

int delayTimer1 = prgAblauf[prgPointer][1] - '0';
int delayTimer2 = prgAblauf[prgPointer][2] - '0';
int delayTimer3 = prgAblauf[prgPointer][3] - '0';
int delayTimer4 = prgAblauf[prgPointer][4] - '0';
	if(delayTimer1 >= 1){
		delayTimer = delayTimer + delayTimer1*1000;
		}
	if(delayTimer2 >=1){
		delayTimer = delayTimer + delayTimer2*100;
		}
	if(delayTimer3 >=1){
		delayTimer = delayTimer + delayTimer3*10;
		}
	if(delayTimer4 >=1){
		delayTimer = delayTimer + delayTimer4*1;
		}

Die aufgabe ist simpel, jedoch stehe ich hier etwas auf dem Schlauch.
Ich habe in meinem Array prgAblauf[prgPointer] Zahlen enthalten, welche mir die Wartezeit meines Programmes bestimmen.
Wenn diese Zahle aus genau 4 Stellen besteht ist es kein Problem weil:
1000 = 1 Sek.
aber wenn jetzt in dem Array zb.
500 steht wären dieses ja nach meinem Programm 5 Sekunden.
9 wären dann 9 Sekunden, sollte aber normal 9ms sein.

Ich habe schon danach gegoogelt, ein paar Lösungen habe ich auch gefunden, jedoch haben die bei mir
nicht gefruchtet.

Gruß
Thyrie

Dein ganzes Vorgehen ist wahrscheinlich falsch. Das sieht doch irgendwo so aus als ob die du einen String hast. Strings in Integer wandeln, geht einfach atoi():
http://www.cplusplus.com/reference/cstdlib/atoi/

Du musst dabei aber unbedingt darauf achten, dass der String mit Null terminiert ist. Also z.B. so aussieht:

char test[] = { '1', '0', '0', '0', '\0' };

Dann kann man das machen:

int i = atoi(test);

Ohne die korrekte Terminierung funktioniert das aber nicht. Wie bei anderen String Funktionen auch.

Für dich 2 Minuten und ich spiele mich damit schon 2 Stunden :stuck_out_tongue:

Funktioniert.

Wie immer vielen Dank!

Gruß
Thyrie