Avatar ·

Comment supprimer les espaces au début et à la fin d'un std::string en C++ ?

Bonjour à tous ! Je suis un développeur C++ débutant, j'écris un programme simple pour traiter la saisie utilisateur. Je dois supprimer les espaces superflus (y compris les tabulations et les sauts de ligne) au début et à la fin d'une chaîne. Par exemple, la chaîne " Hello, World! " doit devenir "Hello, World!". Je sais qu'en C++ il y a std::string, mais je ne trouve pas de méthode intégrée pour le trim. J'ai essayé d'écrire ma propre fonction avec des boucles, mais le code devient lourd et peu pratique. Voici ce que j'ai essayé de faire : ```cpp std::string trim(std::string str) { // Suppression des espaces au début while (str[0] == ' ') { str.erase(0, 1); } // Suppression des espaces à la fin while (str[str.size() - 1] == ' ') { str.pop_back(); } return str; } ``` Mais cela ne fonctionne que pour les espaces ordinaires, pas pour les tabulations, et semble inefficace. Existe-t-il une méthode standard en C++ pour faire cela ? Y a-t-il une fonction dans STL ou Boost ? Dites-moi comment bien couper une chaîne pour prendre en compte