0x0A wird als 0x0D gespeichert!!

sahili

Mitglied
Hallo!

der Code sieht so aus:

Code:
 char *Str_buffer = new char[10];
CString m_SenderTimerOut;
char Info[32] = "\0";
int j=0;
int k=0;
while(k<=20)
{
switch(j)
case 1:
Str_buffer = m_SenderTimerOut.GetBuffer(m_SenderTimerOut.GetLength());
	m_SenderTimerOut.ReleaseBuffer();
 
	BufferInt = atoi(Str_buffer);
 
	Info[j] = BufferInt;
	k++;
	j++;
	break;
case2: Str_buffer = m_NoTonTimer.GetBuffer(m_NoTonTimer.GetLength());
	m_NoTonTimer.ReleaseBuffer();
 
	BufferInt = atoi(Str_buffer);
 
	Info[j] = BufferInt;
	k++;
	j++;
	break;
	.
	.
	.
	.
	.
}
}

wenn BufferInt gleich 10 dann wird's als 0x0D gespeichert!! und béi den anderen Werten ist
richtig!

danke schon mal im voraus
 
Erstmal ne Frage: warum reservierst du für Str_buffer ein array von 10 chars? (char* Str_buffer = new char[10])
Ergibt für mich keinen Sinn, da du im nachhinein Str_buffer eh überschreibst!

Und zu deiner Frage: Auf Anhieb seh ich keinen Fehler, setz mal Breakpoints
auf
Code:
BufferInt = atoi(Str_buffer);
und
Code:
Info[j] = BufferInt;

und schreib mal, was in Str_buffer[], BufferInt, Info[j] und in j steht!

und noch ne Frage: warum nutzt du 2 Variablen (j,k) die beide denselben Wert haben?
 
Zurück