Как прописать слово в строке C++?
У меня есть строка std::и я хочу, чтобы первая буква была заглавной, а остальные строчными буквами.
Один из способов, которым я мог бы это сделать:
const std::string example("eXamPLe");
std::string capitalized = boost::to_lower_copy(example);
capitalized[0] = toupper(capitalized[0]);
, что даст capitalized
в виде:
Но, возможно, есть более прямой способ сделать это?"Пример"
1 ответ:
Если строка действительно является всего лишь одним словом,
std::string capitalized = boost::locale::to_title (example)
должен сделать это. В противном случае, то, что у вас есть, довольно компактно.Edit: только что заметил, что пространство имен
boost::python
имеет классstr
с методомcapitalize()
, который звучит так, как будто он будет работать для строк с несколькими словами (предполагая, что вы хотите то, что вы описали, а не регистр заголовка). Однако использование строки python только для получения этой функциональности, вероятно, плохая идея.