begin process at 2012 05 28 16:47:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

J en ai marre !!!! convertir une lettre en nombre (ascii)


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

J en ai marre !!!! convertir une lettre en nombre (ascii)

lundi 29 août 2005 à 20:07:52 | J en ai marre !!!! convertir une lettre en nombre (ascii)

adess00

Bonjour je lutte depuis pa mal de temps et je croi ke j y ariverai pas tou seul
Je voudrai savoir comment on convertir une caractere d une chaine entree en nombre ascii
voila mon code pour l instant

{
   int  i = 3445;
   char cle[1], *stop;//si kkun pe m expliker comment marche cette declaration
   int asc_cle=0;

  
   printf("Entrez la clé de cryptage : ");
   gets(cle);
   
   asc_cle=strtol(cle,stop,10);

   printf("%d\n",asc_cle);

   return 0;
}

(Je debute en C faut jai reussi en VBmais la faut penser differemment argh)

J attend vos reponses
merci !

lundi 29 août 2005 à 20:20:11 | Re : J en ai marre !!!! convertir une lettre en nombre (ascii)

vecchio56

Administrateur CodeS-SourceS
C'est pas forcément évident pour un débutant. En fait le deuxième paramètre est un pointeur qu'on veut modifier, on passe donc son adresse:


char* fin;
char chaine[] = "12345b";
long l = strtol(chaine, &fin, 10);

normalement, fin pointe maintenant vers b, le premier caractère qui n'a pas été utilisé pour calculer i
lundi 29 août 2005 à 20:39:23 | Re : J en ai marre !!!! convertir une lettre en nombre (ascii)

adess00

euh ouai je croi que jme suis mal exprimé

En faite l utilisateur entre son text (pas un nombre) par exemple "coucou"
ensuite je recupere le caractere "c" et la je le converti en ascii et j obtien mon nombre avec lekel je fai ske jve apres
voila :)

PS: Excellant ton avatar j aime trop cet ecureuil
lundi 29 août 2005 à 20:44:20 | Re : J en ai marre !!!! convertir une lettre en nombre (ascii)

vecchio56

Administrateur CodeS-SourceS
Ya pas de conversion à faire
char c[] = "coucou";
printf("%d", c[0]);
lundi 29 août 2005 à 20:55:18 | Re : J en ai marre !!!! convertir une lettre en nombre (ascii)

mezaya

abandonne le gets car tu as aucune limitation pour la taille de ton buffer utilise plutot fgets()
ex : fgets( chaine , tailleMaximal , stdin );

exemple dans ton exemple :
fgets( cle , 1 , stdin );

pour convertir un caratère en ascii c'est tout simple tu le cast simplement
int nbASCII = (int)'a';

ton programme donne :
   char cle[256];
   int asc_cle=0;

   printf("Entrez la clé de cryptage : ");
   fgets (cle , 256 , stdin );

    while( i<256 && cle[i]!='\0' )  // le '\0' caratérise une fin de chaine
   {
         asc_cle = (int)cle[i];  // transforme la ième lettre en code ASCII
         // traitement
   }

return 0;





Voili,Voilou
lundi 29 août 2005 à 21:02:20 | Re : J en ai marre !!!! convertir une lettre en nombre (ascii)

adess00

cool
Merci !
Mais ya juste un truc que je comprend pas

Pour la fonction fgets c koi stdin j ai vu ke sa correspondai a FILE mais je vois pas ske c est et est ce important de ne pas avoir de limitation de la taille du buffer avec gets() ?

lundi 29 août 2005 à 21:18:02 | Re : J en ai marre !!!! convertir une lettre en nombre (ascii)

mezaya

il y a 4 buffer entrées / sortie prédéfinis en c.
1 buffer d'entré : stdin pour le clavier.
3 buffer de sortie : stdout sortie sur l'écran , stderr sortie sur l'écran ( sans tampon ) , stdlog ... ( je sais plus trop; je m'en sers jamais ).

la limitation est tres important car dans ta source tu déclarais un buffer de 1 caractère. ( char cle[1] ).  si l'utilisateur tape une phrase de 20 caractères la fonction gets() va écrire 20 caractère dans ton buffer et va donc débordé (de 19 ) sur une zone mémoire non aloué. Normalement le systeme va s'en apercevoir est du va avoir une erreur windows du type : Machin.exe a planter. la mémoire ne peut pas être read...

alors qu'avec le fgets tu limite le nombre de carctère a écrire et donc ainsi même si l'utilisateur entre 1000 caratère fgets ne dépassera pas la limite fixé.


Voili,Voilou
mardi 30 août 2005 à 08:07:59 | Re : J en ai marre !!!! convertir une lettre en nombre (ascii)

steve_clamage

C'est meme pir que ca dans ce cas, avec char cle[1] le dépassement va se faire sur ce qui à été aloué précédamment sur la pile et écraser la valeur d'autres variables globales, de l'adresse retour de la fonction...


Cette discussion est classée dans : nombre, convertir, cle, marre, asc


Répondre à ce message

Sujets en rapport avec ce message

Conversion de caracteres en nombre [ par Pspice ] Slt a tous!J'ai une question sur le langage c++,j'ai un tableau qui contient des caracteres : ex : 4,1,2,5,+,1La ds l'ex je voudrai convertir les cara convertir les nombres en lettres [ par djamine ] salut les amisje cherche un code pour convertir les nombres (1 2 3 .....) en lettres ( un, deux , trois....)l'utilisateur donne le nombre et le progra convertir nombres en lettre [ par sofaranaya ] Bonsoir tout le monde! J'ai grand besoin d'une aide à propos d'un programme en c++. Voilà en ce moment je travaille sur un programme qui doit convert convertir un int en char ??? [ par tintin72 ] Salut,Comment convertir un int en char pour que la valeur numérique du int devienne un nombre écrit ? par ex: pour que : int nombre = 18; donne une fo affichage telechargement [ par gabuzomeuh ] le site indique le nombre de fois qu'une source a été vue mais ce serait bien aussi qu'on puisse savoir pour chaque source le nombre de fois qu'il a é affichage de nombre à l'écran [ par nadine2511 ] Bonjour à tous,je suis en train de réaliser une application en Visual C++.Je fais des calculs et je souhaiterais les afficher à l'écran. J'ai essayé a convertir une trame [ par darksoul07 ] J'ai une trame : 65 231 255 255 cette trame correspond à une température qui est de 29°C mais je ne trouve pas comment la convertir si quelqu un à un Notation exponentielle [ par C2S ] Salut !J'aimerai ecrire des nombre sous notation scientifique (j'y arrive) par contre je veux des exposant sur 3 chiffres or apr defaut c'est sur 2 ch Ajout un fichier .cpp dans un projet [vc++6] [ par dulac02 ] Salut a tousje galère sous vc++6 :j'ai crée un fichier FichierIni.cpp dans lequel j'ai mis le code suivant :#include "FichierIni.h"void Lire_Ini ( LPC Nombre limite d'enregistrements... [ par Clonk ] Bonjour,dans mon appli, j'ouvre des fichiers que je triate ligne par ligne (j'ai posté à propos de ça plus tot...)par rapport à chaque ligne, je dois


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,577 sec (4)

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