Re: sprintf - co dělám blbě?

Ladislav Vaiz spam na nagano.cz
Pondělí Duben 15 13:43:09 CEST 2024


Formátovací znak "u" znamená unsigned int, což nemusí nutně být uint32_t.
Není sizeof(unsigned) = 2?

L.


On 15.04.2024 13:41, Jaroslav Buchta wrote:
> sprintf(sStringBuffer,"%6u",123456UL);
>
> Asi to bere konstantu implicitne jako 16b
>
>
> Dne 15.04.2024 v 13:38 Jindroush napsal(a):
>> Prostě se to někde orizne na 16bitů. Nemá to být ul?
>> Opět upozorňuji na zdravý zvyk používat snprintf...
>> J.
>>
>> ---------- Původní e-mail ----------
>> Od: Martin Záruba <swz na volny.cz>
>> Komu: Martin Zaruba <hw-list na list.hw.cz>
>> Datum: 15.04.2024 13:35:10
>> Předmět: sprintf - co dělám blbě?
>>
>>
>>
>>     Tento triviální kousek programu
>>
>>
>>     charsStringBuffer[50];
>>     sprintf(sStringBuffer,"%6u",(uint32_t)123456);
>>     Serial.print(sStringBuffer);
>>
>>
>>     vrací hodnotu 57920. Ale proč?
>>
>>
>>     -- 
>>
>>     Martin Záruba
>>

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20240415/9e98c5a4/attachment-0001.htm>


Další informace o konferenci Hw-list