Contenido

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

de Demian, 2 de mayo de 2015

Aportes: 4

Idioma: Esperanto

Demian (Mostrar perfil) 2 de mayo de 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 (Mostrar perfil) 2 de mayo de 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 (Mostrar perfil) 2 de mayo de 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 (Mostrar perfil) 2 de mayo de 2015 07:52:31

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

Volver arriba