Avatar ·

Comment convertir std::string en minuscules en C++ ?

Bonjour à tous ! Je suis débutant en C++ et j'écris un petit programme de traitement de texte. J'ai besoin de convertir tous les caractères d'une chaîne en minuscules. Je sais qu'en C il existe la fonction tolower() de , mais elle ne fonctionne qu'avec des caractères individuels (int). Comment puis-je l'appliquer à toute une chaîne std::string ? \n\nJ'ai essayé d'écrire une boucle comme celle-ci :\n\n```cpp\n#include \n#include \n#include \n\nint main() {\n std::string str = "Hello World!";\n for (int i = 0; i < str.size(); ++i) {\n str[i] = tolower(str[i]);\n }\n std::cout << str << std::endl;\n return 0;\n}\n```\n\nLe code compile, mais je ne suis pas sûr que ce soit correct et sûr. Existe-t-il une manière plus idiomatique avec la STL ? J'ai entendu parler de std::transform, mais je ne comprends pas comment l'utiliser avec cela.