Dlouhá změť znaků v C

Lukáš Grepl L.Grepl@sh.cvut.cz
Pondělí Červenec 6 23:03:45 CEST 2009


> const char darnet_buffer[1232] = "ŽŤŚŠ‰ˆ‡(tady je dlouhý "text 
> ..")†…ƒ‚€}|{zy";
> 
> ten text je vlastne PCM wav ktery jde do D/A prevodniku.. jenze 
> prekladac ty znaky nekdy zmatou tak ze hodi nejakou syntax chybu..
> Je na to nejaka vychytavka, jak takhle dlouhe retezce definovat?

Jak tohle udělat lépe už Vám bylo poradili, já bych se chtěl ještě 
malinko věnovat příčině problému.

Píšete že onen řetězec je vlastně zvuk v PCM, tedy myslím že problém 
nebude ani tak v délce, jako v obsahu. Pokud se v řetězci vyskytnou 
znaky jako jsou uvozovky, zpětné lomítko nebo znak nového řádku, potom 
to kompilátor v dané situaci považuje za syntaktickou chybu*. Je potřeba 
výskyt takových znaků ošetřit. Když se to ale bude nějak překódovávat, 
je lepší využít některé z dříve uvedených řešení.

* Samozřejmě může být shluk uvedených a jiných znaků takový, že se o 
syntaktickou chybu jednat nebude, ale i tak nebude obsah výsledného pole 
odpovídat očekávání.

Lukáš Grepl



Další informace o konferenci Hw-list