NewbieContest

Programmation => Langages compilés => Discussion démarrée par: Invit le 27 Août 2007 à 21:23:26



Titre: [C]Chaine Ainsi...
Posté par: Invit le 27 Août 2007 à 21:23:26
Bonsoir,voici mon probléme
j'essaye de créer une chaine de caractère qui se modifie en Ainsi...

Code:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char chaine[255];
scanf("%s",&chaine);
printf("%ld",chaine);  
return 0;
}
ça affiche...
Code:
-1076126495
Que faire ?


Titre: [C]Chaine Ainsi...
Posté par: Invit le 27 Août 2007 à 22:37:52
c'est bon je viens d'apprendre que le faire en C pur c'est impossible.
sujet <The end>


Titre: [C]Chaine Ainsi...
Posté par: _o_ le 28 Août 2007 à 10:45:54
Citation de: ECHELON
c'est bon je viens d'apprendre que le faire en C pur c'est impossible.
Huh ? Lire un entier et l'afficher à l'écran ? Heureusement qu'il est possible de le faire en C pur. Faut pas exagérer non plus. Le tout est de savoir exactement ce que tu veux faire. Parce que là, effectivement, lire une chaine pour la réécrire sous forme d'entier, je ne vois pas bien l'intérêt.


Titre: [C]Chaine Ainsi...
Posté par: neoflo le 19 Septembre 2007 à 22:11:52
Pour convertir des chaines en entiers, il faut utiliser strtol (qui a l'avantage de pas déconner si on lui donne des mauvais caractères à manger).

On utilise par exemple comme ça :

Code:
char * c = "1234";
char * fin;

long n;
n = strtol(c, &fin, 10);
if(*fin!='\0') {
  //erreur de conversion
}
else {
 //ça s'est bien converti
}