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