begin process at 2010 02 10 01:47:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

probleme de convertion de int vers char *


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme de convertion de int vers char *

lundi 13 octobre 2008 à 18:20:56 | probleme de convertion de int vers char *

zozizozu

Bonjour a tous.
J'ai un probleme de convertion de int vers char *
voici mon code :

    for( int  i = 0; i < mChannelCount; i++ )
    {
        char intochar;
        _itoa_s(i,&intochar,40,10); //10 return dec, 16  return hexa ...
        //sprintf(&intochar, "%d", i );

        FBString tmpChnlName( "Chnl_",&intochar );
        mChannelName[i] = tmpChnlName;
    }

Avec sprintf comme avec _itoa_s , mon mChannelName[i] ressemble à Chnl_1_petit carré_ , Chnl_2_petit carré_ ...

FBString est declaré comme suit : FBString(const char* p1Str,const char* p2Str);

Merci d'avance

3o3i
lundi 13 octobre 2008 à 19:21:41 | Re : probleme de convertion de int vers char *

SAKingdom

Membre Club
Réponse acceptée !
Un caractère ne peut stocker... qu'un seul caractère.
Dans 40, il y a '4' et '0'... 2 caractères

   for( int  i = 0; i < mChannelCount; i++ )
    {
        char intochar[16]; // On devrait pas en manquer avec 16 char
        _itoa_s(i,intochar,40,10); //10 return dec, 16  return hexa ...
        //sprintf(intochar, "%d", i );

        FBString tmpChnlName( "Chnl_",intochar );
        mChannelName[i] = tmpChnlName;
    }

C++ (@++)

lundi 13 octobre 2008 à 20:22:58 | Re : probleme de convertion de int vers char *

zozizozu

Genial, exelent, merci beaucoup !!!
Cependant, je ne comprend pas pourquoi le char intochar[16] est accepté par FBString , qui demande un char*  ???

Tu aurras deviné que je suis un super-débutant , et que j'ai attaqué le cpp de front, sans vraiment en comprendre certain concept.

Merci encor

3o3i
mardi 14 octobre 2008 à 04:19:30 | Re : probleme de convertion de int vers char *

SAKingdom

Membre Club
Le constructeur de la classe FBString demande une adresse mémoire. Cette adresse mémoire sera stockée dans son paramètre char *.
Ce paramètre est donc ici un pointeur et comme son nom l'indique, il sert à pointer à un emplacement en mémoire.

Un tableau est une adresse mémoire. C'est donc valide.

C++ (@++)

mardi 14 octobre 2008 à 09:35:00 | Re : probleme de convertion de int vers char *

zozizozu

Un tableau est une adresse mémoire , je pense que je comprend un peu mieux maintenant ...

Merci de tes eclaircissement

Cordialement
3o3i
mardi 14 octobre 2008 à 15:44:11 | Re : probleme de convertion de int vers char *

SAKingdom

Membre Club
Ben, pour être plus précis, un tableau est une plage mémoire. Passer son nom comme paramètre ou peu-importe revient à donnée l'adresse de la première case du tableau.

Faire:
char *p = tableau;

revient donc à faire:

char *p = &tableau[0];

C++ (@++)

mercredi 15 octobre 2008 à 19:19:20 | Re : probleme de convertion de int vers char *

zozizozu

Bon, bien, je vais méditer la dessus ...
J'ai comme l'impression que tu viens de me donner une clef pour comprendre le c++, et je t'en remercie .
Deja, je comprend mon erreur, et plein d'autre truc en +(+) ...
Merci encor

3o3i


Cette discussion est classée dans : int, probleme, char, convertion, intochar


Répondre à ce message

Sujets en rapport avec ce message

convertion char* en int [ par sampq ] Je recupere à partir d'une requete sql un char* que je veux utiliser par la suite dans une boucle for de mon programme, mais la il faudrait que ça soi probleme de pointeur [ par jypees ] Bonjour a tous. Voila j'ai l'habitude de faire de la prog sur unix et la je viens de me lancer sur windows (lol) et j'ai un petit probleme car je ne s Probleme avec getLine() [ par adakick ] Bonjour j' ai un programme qui récupère toutes les informations passer par lentrée standard et qui affiche les information ligne par ligne, mais mon c Convertion d'un double en hexadecimal (IEEE-754) [ par Cphil51 ] Salutation a tous.Je cherche a convertir un double en notation hexadécimale. J'ai deja essayé pour un float (plus simple car il prend que 32 bits), ce strcat : fonction( char* buffer, int nb ); [ par wizard512 ] Bonsoir,Je souhaiterais savoir Si une fonction similaire a strcat() existerais,mais qui ajoute un entier ( int ) dans une Ouvrir et afficher un fichier texte en C [ par AsM0DeUz ] 'lut Je m'initie actuellement au C. Apres avoir fait les exos les plus basiques ... je passe au basique niveau 2 J'ai ecris qques lignes pour afficher [help me!] - probleme cryptage simple de fichier [ par darthnexus ] Salut à tous!Je vous explique mon problème: j'ai commencé une petit programme de cryptage tout simple (je débute...) seulement voila cela fonctionne n convertir un int en char [ par infodaoudi ] Bonjour,  Quelqu'un a une idée pour convertir un entier (int) en caractère de manière à pouvoir le concaténer à une chaîne de caractère via la fonctio Url encoding [ par Lestat_2070 ] Bonjour à tous,Tout d'abord, j'espère que je ne me trompes pas de section, pour ce sujet. Ensuite, j'essaye de faire une fonction comparable à la fonc Retourné un tableau dans une focntion??? [ par nerone21 ] Bonjour,alors voici mon probleme, et ma fonction:char *ConcatNom(char NomFichier[MAX_PATH]){    int taillefile=strlen(NomFichier);    char nomfichier[


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales