Fonction récursive

tommy -  
 Guki -
Bonjour,

Peut-on m'aider?

En C++, avec Borland Builder 6 avec une Console Wizard.

Je cherche à convertir un "int" à "string".

Par exemple: 123 à "123"

Il y aurait une fonction récursive par division successive de 10, mais je me souvient plus comment la faire?

Ou y a t'il une fonction C++ qui me permet cette conversion?

Merci beaucoup de votre aide.

Tommy
A voir également:

3 réponses

Utilisateur anonyme
 
Salut,
Tu as essaye de Caster tout simplement?

Le TeebObeeT préféré de la moche...
0
Guki
 
Salut!

Mauvais conseil.

Un cast ferait quoi? Convertir un entier n bit dans un pointeur (~ entier 32 bit).

Il existe une fonction vraiment bête qui fait parti du standard C.

#include <stdlib.h>
int sprintf(char *s, char *format, ...);

/* exemple */

#include <stdio.h>

int x;
char s[255];

x = 96000;
sprintf(s, "%i", x);


Accessoirement en C++ on utilisera la même fonction contenu dans la class std que l'on introduira par:

#include <cstdio>

using namespace std;
0
Tommy
 
Bien oui,

du genre:

#include <iostream.h>

void main(void)
{
string NbrTexte;
int Nombre=5;

NbrTexte = (char) (Nombre+48);
cout << NbrTexte;

}

Ca fonctionne, mais que pour 1 chiffre inférieur à 10.

Une fonction récursive qui ferait des divisions succesives par le modulo 10, afin de découper les nombre supérieur à 9 en caractère. ensuite je dois coller tout ces caractères en une string.

C'est là que je suis rendu, mais je me souvient pas comment écrire cette fonction et la manipululer.

Merci de votre précieuse, aide!

Tommy
0
Tommy
 
En sommes ce que je veus faire, c'est passer en parametre à une fonction un string.

Par exemple:
j'ai une chaine a concatener pour fomer un string ou NbrJour[Mois] est un int.

"Le jour doit être entre 1 et " NbrJour[Mois] " jours."

AfficherErreur("Le jour doit être entre 1 et 30 jours.");

Voilà exactement mon problème!

Tommy
0
Guki
 
Salut!

Pour concaténer tu peux utiliser aussi une fonction standard.

#include <string.h>

char *strcat(char *s1, const char *s2);

/* s2 est copie en ecrasant le char 0 de fin de chaine de s1 */


Toujours:

#include <cstring>

using namespace std;


Pour le C++.
0