2017-09-07 2 views
-1

J'ai un morceau de code, une boucle où une variable entière est mise à jour à chaque itération. Je souhaite ajouter la valeur de la variable l'une après l'autre après l'avoir stockée dans une autre variable de type string. Et puis inversez la chaîne avant de l'imprimer finalement à la fin.Comment concaténer Entier et l'imprimer inversé en C++?

>  for example: 
>  
>  the loop gives an output say 1, 2, 3, 4... and so on.. on each iteration. 
>  then, I want to have a string of value "1234" 
>  and then reverse it to finally print "4321" 
+1

Et vous avez essayé? – NathanOliver

+1

Vous avez besoin de trois opérations pour cela: convertir un int en une chaîne, ajouter deux chaînes ensemble, et inverser une chaîne. Tapez tous les 3 séparés dans google, voir ce qui sort, combiner. –

+0

N'a rien essayé de spécifique. ont essayé la conversion explicite en chaîne à partir de l'entier et puis la concaténation de chaîne à chaque fois dans la boucle, mais n'ont pas encore réussi. –

Répondre

0

On dirait que vous savez exactement ce que vous voulez. Google les morceaux de code dont vous avez besoin, et vous y arriverez.

un int à Adjonction une chaîne

Utilisez std :: to_string (variable int) pour convertir l'int en une chaîne si vous utilisez C++ 11. Sinon, utilisez une chaîne de caractères.

Une fois que vous avez converti l'int à une chaîne, il suffit d'ajouter à la fin de votre chaîne avec des chiffres en faisant

std::string str=""; 
for ... 
    str += std::to_string(intVar); 

Inverser la chaîne

En utilisant std :: string, il y a une fonction inverse.

std::reverse(str.begin(), str.end()); 

Ensuite, il suffit d'imprimer les résultats avec

printf("%s\n", str.c_str());