RAW format v C

Jindroush jindroush na seznam.cz
Čtvrtek Duben 9 21:15:14 CEST 2020


https://www.geeksforgeeks.org/raw-string-literal-c/
https://stackoverflow.com/questions/19075999/what-is-the-rationale-for-parenthesis-in-c11s-raw-string-literals-r
https://abseil.io/tips/64

Je to string literal, ta rovnitka jsou tam parova, a kvuli tomu, aby 
nejaky obsah uvnitr toho retezce neukoncil retezec predcasne - muze tam 
byt cokoli, co se neda ocekavat v tom retezci uvnitr.
Proste si ten svuj vystup rozdelte na nekolik takovych kusu a vypisujte 
je normalne ze statickeho retezce a pak si mezi tim provedte nejake ty 
sprintfy apod.
J.

On 09.04.2020 21:01, Pavel Kutina wrote:
> 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
>
>
>
>
-- 
Jindroush <jindroush at seznam.cz>



Další informace o konferenci Hw-list