Maison  >  Article  >  développement back-end  >  Comment convertir un vecteur d’entiers en chaîne délimitée en C ?

Comment convertir un vecteur d’entiers en chaîne délimitée en C ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-03 19:51:02598parcourir

How do you convert a vector of integers to a delimited string in C  ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn