Ha, ha, presque bon (enfin, si on passe le fait que c'est du C plus que du C++)
Edit: ça t'affiche que des 0, parce que tu transmet toujours "ch" comme paramètre à atoi, ch qui commence par "sd", qui te renverra 0.
Code :
- int main()
- {
- char ch[]="sd12szzee32sds25dfefe1253sdz10gfdhgh21mlp";
- char * p;
- int i=0,j;
- int tab[6];
- printf("la chaine est : %s\n",ch);
- for (p = ch; *p; )
- {
- if ('1' <= *p && *p <= '9')
- {
- tab[i] = strtol(p, &p, 10);
- i++;
- }
- else p ++;
- }
- for (j = 0; j < i; j++)
- {
- printf("%d\n",tab[i]);
- }
- getchar();
- }
|
Message édité par tpierron le 11-11-2009 à 20:00:00