функция tolower для строк C ++

Получение последних данных за девятый месяц

SELECT * FROM TABLE_NAME 
WHERE DATE_COLUMN BETWEEN '&STARTDATE' AND '&ENDDATE'; 
13
задан Mosty Mostacho 25 April 2012 в 05:11
поделиться

5 ответов

Если boost является опцией:

#include <boost/algorithm/string.hpp>    

std::string str = "wHatEver";
boost::to_lower(str);

В противном случае вы можете использовать std::transform:

std::string str = "wHatEver";
std::transform(str.begin(), str.end(), str.begin(), ::tolower);

Вы также можете использовать другую функцию, если у вас есть некоторые пользовательские локально-зависимые tolower.

25
ответ дан 1 December 2019 в 07:05
поделиться
std::transform(myString.begin(), myString.end(), myString.begin(), std::tolower);
11
ответ дан 1 December 2019 в 07:05
поделиться

Как говорит ereOn: std::transform(str.begin(), str.end(), str.begin(), std::tolower );

Или через for_each: std::for_each(str.begin(), str.end(), std::tolower );

Transform, вероятно, лучше из двух.

2
ответ дан 1 December 2019 в 07:05
поделиться

Встроенной функции для этого нет, и сделать это на удивление сложно из-за локалей и т.д. Если tolower делает то, что вам нужно, это может быть лучшим вариантом.

1
ответ дан 1 December 2019 в 07:05
поделиться

Для решения этой проблемы вы можете использовать метод преобразования STL:

std::string str = "simple";
std::transform(str.begin(), str.end(), str.begin(), std::tolower);
0
ответ дан 1 December 2019 в 07:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: