RAW format v C
Miroslav Mraz
mrazik na volny.cz
Čtvrtek Duben 9 21:16:30 CEST 2020
https://en.cppreference.com/w/cpp/language/string_literal
Můžete jich definovat víc a pak je pospojovat nebo použít uvnitř
formátový specifikátor %s,%d,%x... a použít to jako formátovací řetězec
ve funkci snprintf(). Je to jen trochu jiný, poměrně užitečný způsob
zápisu, jinak je to obyčejný c-string.
Mrazík
Dne 09. 04. 20 v 21:01 Pavel Kutina napsal(a):
> Zdravím,
>
> narazil jsem na pro mne nezvyklý způsob deklarace veliké konstanty - je
> to nějaká HTML stránka v ESP32, v CSS jsou enkódované dva obrázky,
> souhrnná velikost ca 30kB kódu. Nacpat to do C s escapováním všech
> "podlostí" by byl asi trochu problém, autor zvolil RAW zápis. Já jsem se
> s ním dosud nesetkal, tak jsem na to koukal jak vyvoranej, kupodivu se
> mi nedaří moc googlovat. Kód vypadá takhle:
>
> const char HTML[] PROGMEM = R"=====(
> <!DOCTYPE
> ...
> ... pokracuje HTML kod...
> ...
> </html>
> )=====";
>
> Co jsem vygooglil, tak je RAW uvozeny tim R pred zavorkou. OK. Co tam
> sakra znamenaji ty =====? Navic, ja bych to potreboval rozsekat, nasypat
> nekam doprostred vysledky nejakych promennych z toho ESP32 a nejak
> nepobiram, jak do toho. Jasne, nebude to const v progmem, s tim se
> smirim, mista je dost, jde mi o to, jak tenhle RAW retezec korektne
> prerusit, prilepit tam promennou a zase pokracoval, neco jako:
>
> "napeti je "+NAPETI+" V";
>
> Da se s tim nejak pracovat, slucovat, delit - a jak se to jmenuje, aby
> se dalo neco vygooglit?
>
> Diky.
>
> Pavel Kutina
>
>
>
>
Další informace o konferenci Hw-list