我有一个std::string,希望第一个字母大写,其余的小写。

我可以做到这一点的一种方法是:

const std::string example("eXamPLe");
std::string capitalized = boost::to_lower_copy(example);

capitalized[0] = toupper(capitalized[0]);

这将产生capitalized为:



但是,也许有更直接的方法可以做到这一点?

最佳答案

如果字符串确实只是一个单词,则std::string capitalized = boost::locale::to_title (example)应该这样做。否则,您所拥有的将非常紧凑。

编辑:刚注意到boost::python命名空间具有str类和capitalize()方法,听起来像它适用于多字串(假设您要描述的内容而不是标题的大小写)。但是,仅使用python字符串获得该功能可能不是一个好主意。

关于c++ - 如何在C++字符串中大写单词?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15369910/

10-13 04:55