#include <boost/spirit/home/support/char_encoding/ascii.hpp>
bool IsStringAllNonLowercaseA(const std::string& str)
{
std::string newStr(str);
boost::to_upper(newStr);
if (newStr == str)
return true;
else
return false;
}
bool IsStringAllNonLowercaseB(const std::string& str)
{
for (std::string::const_iterator iter=str.begin(); iter != str.end(); ++iter)
{
if (boost::spirit::char_encoding::ascii::islower(*iter))
return false;
}
return true;
}
Вопрос> Ищу эффективный способ проверки того, содержит ли std::string
все заглавные буквы. Лучше всего, если есть стандартная функция из стандартной или ускорительной библиотеки C++.Проверьте std :: string, содержит ли любой строчный символ?
Я сам реализовал две версии. Но я не уверен, достаточно ли они. Любые предложения и комментарии приветствуются.
http://codereview.stackexchange.com –
Пожалуйста определить, что означает «достаточно хорошо». По каким критериям вы планируете выбрать «лучший» ответ из ответов, которые вы получите здесь? Также обратите внимание, что обнаружение любых символов в нижнем регистре (в виде запросов заголовков) не совпадает с обнаружением того, имеют ли символы все в верхнем регистре (по запросу тела). Знаки пунктуации, символы Дальнего Востока, символы и цифры обычно отсутствуют. –
В принципе, я ищу предопределенную функцию, которая может сказать мне, содержит ли строка ни строчки. Ваша точка верна, и я изменил свое имя функции в OP. – q0987