Ku rupapuro rw'ibirimwo

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

ca, kivuye

Ubutumwa 4

ururimi: Esperanto

Demian (Kwerekana umwidondoro) 2 Rusama 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 (Kwerekana umwidondoro) 2 Rusama 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 (Kwerekana umwidondoro) 2 Rusama 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 (Kwerekana umwidondoro) 2 Rusama 2015 07:52:31

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

Subira ku ntango