sprintf ist mal wieder ungehorsam

Gast #2438633
Lesenswert?

Liebe Leute,

ich bin wieder mal ratlos!
Im AVR-Studio 4 mag sprintf wieder mal nicht richtig:

// hier das relevante Codeschnipsel:-------------------------
char str16 [17],  command [33];
double hispeeddelay;


else if(strncmp(command,"#HID=",5) == 0)
  {
    memcpy(str16,&command[ 5],strlen(command)-5);   // command ist z.B. 
"#HID=123.4"
  str16[strlen(command)-5] = 0;    // str16 ist z.B. "123.4"
  hispeeddelay = atof(str16);      //ob das funktioniert, weiss ich 
nicht
   if (BT_CONNECTED )
   {
      uart_puts ( "str16=" );
      uart_putl ( str16 );

      sprintf ( command,"##: %6.1f us", hispeeddelay);   //ergibt "## 
? us"
        uart_putl(command);
     }
  }
//-----------------------------------------------------------

Warum gibt das sprintf  "##      ? us"  aus??

Vielen Dank für jede Hilfe!
Thomas
Angehängte Dateien:
Gast #2438661
Lesenswert?

Hallo Jörg,
danke für den Link, ich finde aber nichts, was ich falsch mache ;-(
Vielleicht habe ich Tomaten auf den Augen?
vfprintf() habe ich jetzt rausgenommen, das nützt aber auch nichts.
Moderator (Firma: Titel) Persönliche Seite #2438662
Lesenswert?

Thomas R. schrieb:
> sprintf ( command,"##: %6.1f us", hispeeddelay);   //ergibt "##
> Warum gibt das sprintf  "##      ? us"  aus??
Ich frage mich auch, wo da der Doppelpunkt hingekommen ist...  ;-)

Thomas R. schrieb:
> danke für den Link, ich finde aber nichts, was ich falsch mache ;-(
Such mal nach diesem Text in diesem Text:
1
By default, all the conversions described above are available except 
2
the floating-point conversions
Fazit: du mußt den richtigen Schalter umlegen, damit die "richtige" Lib 
verwendet wird.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren