Re: sprintf - co dělám blbě?
Jan Waclawek
konfera na efton.sk
Pondělí Duben 15 13:52:21 CEST 2024
Serial.print zrejme znamena Arduino, cize AVR (aj je pravda ze to uz dnes
nemusi platit), cize ano.
wek
----- Original Message ---------------
>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ší informace o konferenci Hw-list