Til indholdet

Programado C++: Ĉu estas kvar karaktroj en "ĉie"?

af Demian, 2. maj 2015

Meddelelser: 4

Sprog: Esperanto

Demian (Vise profilen) 2. maj 2015 07.09.23

Saluton,

Mi lernas programadon per C++.

Hodiaŭ matene mi kreis mallongan programon (foto). Ĝi informas al leganto, kiom karaktroj sin trovas en vorto.

La programo agas strange por ĉiuj karaktroj, krom tiuj de la angla alfabeto.

Ĉu vi scias, kial tio ĉi okazas?

nornen (Vise profilen) 2. maj 2015 07.20.07

Vi ne nombras la karaktrojn de la vortoj, sed la bajtojn necesajn por kodi ilin (miasupoze laŭ utf-8-a kodo).
Provu uzi mbstowcs() anstataŭ size().

Demian (Vise profilen) 2. maj 2015 07.46.38

nornen:Vi ne nombras la karaktrojn de la vortoj, sed la bajtojn necesajn por kodi ilin (miasupoze laŭ utf-8-a kodo).
Provu uzi mbstowcs() anstataŭ size().
Mi ricevas erar-mesaĝon, kiam mi uzas mbstowcs() anstataŭ size().

Jen estas la erar-mesaĝo (ankaŭ en la foto):

g++ -std=c++0x word_jumble.cpp
word_jumble.cpp: In function ‘int main()’:
word_jumble.cpp:13:37: error: ‘std::string’ has no member named ‘mbstowcs’
cout << "Sin trovas " << nomoj.mbstowcs() << " karaktroj en " << nomoj << endl;

===

Mi skribis #include antaŭ uzi mbstowcs().
http://www.cplusplus.com/reference/cstdlib/mbstowc... (Angla referenco, ĉar mi ne scias, kion lingvon vi parolas, kaj ne trovis Esperantan referencon)

nornen (Vise profilen) 2. maj 2015 07.52.31

La erarmesaĝo diras ĉion. Tio ne estadas metodo de std::string, sed libera funkcio. Voku ĝin tiel.

Tilbage til start