begin process at 2012 05 28 23:13:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Système

 > 

Noyau

 > 

convertir un in en chaine de caracteres


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

convertir un in en chaine de caracteres

jeudi 22 février 2007 à 15:24:43 | convertir un in en chaine de caracteres

Daimadoshi

slt tlm, voila je programme un kernel en c et je renconctre un probleme :
je souhaiterai affichier le contenu de mes variables mais voila c'est interpreté comme des caracteres donc pour aboir la valeur d'un int c'est pas evident.
Je cherche donc a re programmer une fonction du type itoa, et comme la j'ai pas trop d'idée sur comment faire je cherche juste un algo pour la conversion.




jeudi 22 février 2007 à 15:32:11 | Re : convertir un in en chaine de caracteres

deck_bsd

Membre Club
Yop,

évidement que c'est interprete en chaine de caractères si tu les converti en chaine de caractères ;) sinon pour l'inverse tu fait avec atoi, tu peux aussi utiliser pour les convertion les sprintf ou sscanf.

++
deck_bsd
___________________________________
[ [ Lien ]]
jeudi 22 février 2007 à 15:38:51 | Re : convertir un in en chaine de caracteres

Daimadoshi

j'ai du mal m'expliqué, mon probleme est bien plus compliqué que cela :
je programme un nouveau kernel bootable, par consequent je ne dispose d'aucune lib c standard, pour afficher un caractere a l'ecran je doit m'adressée directement a la mémoire de la carte video. toutes les données que j'écrit dans cette mémoire sont interpreté comme des caracteres donc je cherche a convertir des int en chaines de caractere


jeudi 22 février 2007 à 16:20:07 | Re : convertir un in en chaine de caracteres

SAKingdom

Membre Club
Réponse acceptée !
Voici le code du itoa de VC++ 6

void xtoa (unsigned long val, char *buf, unsigned radix, int is_neg)
{
    char *p;                /* pointer to traverse string */
    char *firstdig;         /* pointer to first digit */
    char temp;              /* temp char */
    unsigned digval;        /* value of digit */

    p = buf;

    if (is_neg) {
        *p++ = '-';
        val = (unsigned long)(-(long)val);
    }

    firstdig = p;

    do {
        digval = (unsigned) (val % radix);
        val /= radix;

        if (digval > 9)
            *p++ = (char) (digval - 10 + 'a');
        else
            *p++ = (char) (digval + '0');
    } while (val > 0);

    *p-- = '\0';

    do {
        temp = *p;
        *p = *firstdig;
        *firstdig = temp;
        --p;
        ++firstdig;
    } while (firstdig < p);
}

inline char *itoa (char *buf, int val, int radix)
{
    if (radix == 10 && val < 0) xtoa((unsigned long)val, buf, radix, 1);
    else xtoa((unsigned long)(unsigned int)val, buf, radix, 0);
    return buf;
}

C++ (@++)

jeudi 22 février 2007 à 16:21:59 | Re : convertir un in en chaine de caracteres

yoyo269

Membre Club
Salut !

As-tu regarder la table ascii ?
Jette y un coup d'oeil tu trouveras sûrement un petite astuce selon la valeur de chaque chaque !

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
____________________________________________
[Site officiel de YoyoCut, découpe fichiers open source]

jeudi 22 février 2007 à 18:35:57 | Re : convertir un in en chaine de caracteres

BruNews

Administrateur CodeS-SourceS
Programmer un kernel et ne pas savoir faire un itoa()...
Tu "fais" ton kernel par copier/coller ???

ciao...
BruNews, MVP VC++
jeudi 22 février 2007 à 18:51:59 | Re : convertir un in en chaine de caracteres

Daimadoshi

je sais faire un itoa() mais c'est pas aussi evident a re-programmer que d'appeler la fonction, de plus je demandais juste un algo pas un code !
mais bon je me suis débrouiller...

PS si je faisais du copié collé tu pense pas que j'en ferais aussi pour cette fonction ?



Cette discussion est classée dans : cherche, chaine, convertir, caracteres, in


Répondre à ce message

Sujets en rapport avec ce message

Convertir une chaine de caractere en Float [ par Johjo ] Bon, voilà, j'ai encore un probleme.Je dois maintenant convertir un chaine de caractere en float, et je ne trouve pas de fonctions, j'ai regardé dans Chaine de caracteres !!! [ par mantalotus ] Comment puis-je transformer un chaine de caractères en une chaine de bits et inversement.Merci de votre aide. Chaine de caracteres [ par youssef22 ] Bonjour,Je suis entrain d'ecrire un petit programme qui genere a chaque fois un mot, et affiche le mot sous forme de tirets, et demande a l'utilisateu Envoyer une chaine de caracteres a une autre appli [ par fredcpp ] Bonjour,Je cherche a envoyer une chaine de caractere depuis mon programme vers une appli windows ( notepad par exemple ).Tout ca de facon a ce que l'a Pb de reallocation d'un tableau de chaine de caracteres [ par kobee12 ] J'ai un petit probleme. En effet j'ai un tableau defini de la maniere suivante : char* tab[12];Je charge des chaines de caracteres dans mon tableau. E cherche documentation sur gcc in french please [ par cylboo ] je cherche de la doc sur le gcc et aussi sur le c merci ...... ;) )) ) )) arf j y arrive po (chaine de carac) [ par mouss24 ] Voila je cherche a faire un algo qui me sort le nombre d iteration d un nombre dans une chaineex : j ecris3 5 4 6 7 55 345 8 5 4 5 55 3 3et il me sort Chaine de caracteres [ par LordBob ] Salut a tous,voila j'ai une question seulement, je ne sais pas trop comment la poser ou plutot l'expliquer... Alors, je vais faire comme je peux... al convertir une chaine en float [ par bloops ] salut à tous,alors voila je voulais savoir si il y avait possibilité de convertir une chaine de caractere contenenant par exemple : "3.14" en float. J convertir une chaine de caractére? [ par supergrey ] je voudrai savoir comment convertir une chaine de caractére en un unsigned short (équivalent unicode)?merci d'avance


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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