Joindre un vecteur d'entiers dans une chaîne délimitée
En C, convertir un vecteur d'entiers en une chaîne délimitée par un caractère spécifique peut être obtenu grâce à diverses approches.
Utilisation d'un Stringstream
Une méthode consiste à utiliser un std::stringstream, comme indiqué dans le code suivant :
<code class="cpp">#include <sstream> //... std::stringstream ss; for (size_t i = 0; i < v.size(); ++i) { if (i != 0) ss << ","; ss << v[i]; } std::string s = ss.str();
Ici, l'objet stringstream ss est utilisé pour ajouter séquentiellement les entiers à la chaîne tout en insérant une virgule comme délimiteur.
Utiliser std::for_each
Alternativement , vous pouvez utiliser l'algorithme std::for_each avec une fonction lambda personnalisée :
<code class="cpp">#include <algorithm> #include <sstream> //... std::stringstream ss; std::for_each(v.begin(), v.end(), [&ss](int i) { if (ss.str().size() != 0) ss << ","; ss << i; }); std::string s = ss.str();</code>
Dans cette approche, la fonction lambda insère une virgule lors de l'itération sur les éléments suivants, garantissant le placement correct du délimiteur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!