c++ - 如何将 C++ 字符串中的单词大写?

标签 c++ boost stdstring capitalize

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

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

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

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

这将产生 capitalized 为:

"Example"

但也许有更直接的方法来做到这一点?

最佳答案

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

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

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

相关文章:

c# - 互操作性 c c# 结构序列

c++ - 编写代码帮助编译器进行优化

c++ - 从文件中获取模板参数

c++ - boost asio在两个线程c++之间进行通信

c++ - basic_string.tcc 中的核心转储 - 优化了

c++ - VS2010 中令人困惑的 std::string::c_str() 行为

c++ - 两个类可以使用 C++ 互相看到吗?

c++ - 将一个对象、它的调用方法和调用它的参数打包到一个对象中,以便以后调用它

c++ - Linux 多播后续套接字窃取数据

C++获取字符串数组的大小