Avatar ·

Como converter uma string std::string para minúsculas em C++?

Olá, colegas! Sou novo em C++ (antes programava em Python) e me deparei com uma tarefa aparentemente simples: preciso converter todos os caracteres de um objeto std::string para minúsculas. Em Python, eu simplesmente escrevo "HELLO".lower() e está pronto. Mas em C++ estou perdido. Aqui está meu código que não funciona: ```cpp #include #include int main() { std::string text = "HELLO WORLD!"; std::string lower_text = std::tolower(text); // Erro! std::cout << lower_text << std::endl; return 0; } ``` O compilador dá erro: `cannot convert 'std::string' to 'int' for argument '1' to 'int tolower(int)'`. Entendi que `std::tolower` funciona apenas com caracteres individuais (tipo `int`), e não com a string inteira. Tentei escrever um loop manualmente: ```cpp for (size_t i = 0; i < text.length(); ++i) { text[i] = std::tolower(text[i]); } ``` Isso funciona, mas parece muito verboso e deselegante. Existe em C++ uma maneira padrão de fazer isso de uma