Към съдържанието

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

от Demian, 02 май 2015

Съобщения: 4

Език: Esperanto

Demian (Покажи профила) 02 май 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 (Покажи профила) 02 май 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 (Покажи профила) 02 май 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 (Покажи профила) 02 май 2015, 07:52:31

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

Обратно нагоре