Forum: Compiler & IDEs problem mit sprint


von judas (Gast)


Lesenswert?

hallo,
ich hab ein paarr Probleme mit der Ausgabe bei sprintf.
1
  signed int Temp[10]; 
2
3
    while   ( ( c = uart_getchar() ) != '\r'   && i < BufferLen  - 1 )
4
    inLine[ i++ ] = c;
5
    inLine[i] = '\0';
6
//In Inline steht jetzt +34,25 als Ascii wert drin
7
8
9
    //Wandle Ascii in Integer
10
    int mess = atoi( &inLine[0] );
11
    Temp[1] = mess;
12
13
//Ausgeben
14
  char Buff[10];
15
  sprintf( Buff, "%6d", Temp[1]);
16
  uart_puts( Buff);

Als Ausgabe erhalte ich nur 34
woran liegt das .
vielleicht weiss einer von euch noch weiter.
mfg

von MWS (Gast)


Lesenswert?

judas schrieb:
> woran liegt das .

Ein Integer ist kein Float.

von Mark B. (markbrandis)


Lesenswert?

In der Tat. atoi("+34,25") ergibt eben 34.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.