Imprimer une liste d'éléments avec des virgules en C nécessite une approche différente par rapport aux autres langages. Voici comment y parvenir :
La difficulté en C réside dans l'évitement d'une virgule finale. Dans le code que vous avez fourni, insérer un bloc pour ajouter des virgules introduirait une virgule supplémentaire à la fin, ce que vous souhaitez éviter.
Pour résoudre ce problème, vous pouvez utiliser un infix_iterator. Contrairement à un itérateur de flux de sortie traditionnel, un itérateur infixe insère un délimiteur entre les éléments, vous permettant d'éviter le problème de la virgule finale.
Utilisation de l'infix_iterator :
Tout d'abord, incluez le infix_iterator.h header :
#include "infix_iterator.h"
Ensuite, créez un itérateur infixe et spécifiez le délimiteur que vous souhaitez utiliser (dans ce cas, une virgule) :
infix_ostream_iterator<string> out_iterator(out, ",");
Enfin, utilisez l'itérateur infixe pour copiez les éléments de votre conteneur keywords dans la sortie stream :
std::copy(keywords.begin(), keywords.end(), out_iterator);
Cela imprimera les éléments dans les mots-clés avec des virgules entre les deux et sans virgule finale.
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!