logo Homepage
+  NewbieContest
|-+  Programmation» Langages compilés» [C]Chaine Ainsi...
Username:
Password:
Pages: [1]
  Imprimer  
Auteur Fil de discussion: [C]Chaine Ainsi...  (Lu 2420 fois)
Invit
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 ?
Journalisée
Invit
Invité
« #1 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>
Journalisée
_o_
Relecteur

Profil challenge

Classement : 42/54318

Membre Héroïque
*
Hors ligne Hors ligne
Messages: 1258


Voir le profil
« #2 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.
Journalisée

Les épreuves de hack de NC sont trop faciles ? Et pourtant ! Bienvenue dans la vraie vie : http://thedailywtf.com/Articles/So-You-Hacked-Our-Site!.aspx
neoflo
Profil challenge

Classement : 8124/54318

Membre Complet
***
Hors ligne Hors ligne
Messages: 171


Voir le profil WWW
« #3 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
}
Journalisée

Pages: [1]
  Imprimer  
 
Aller à: