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