Aller au contenu

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

de Demian, 2 mai 2015

Messages : 4

Langue: Esperanto

Demian (Voir le profil) 2 mai 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 (Voir le profil) 2 mai 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 (Voir le profil) 2 mai 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 (Voir le profil) 2 mai 2015 07:52:31

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

Retour au début