Bonjour,
Dans le cas d'un saisie comme sur l'exemple d'Emmanuel
strtol (temp, NULL, 10) peut être remplacer par atol(temp) ?
merci,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 #include <stdio.h> #include <stdlib.h> int main(void) { int ret; char temp[20]; do { char saisie[20]; printf("Entrez un nombre : "); fflush (stdout); fgets (saisie, sizeof saisie, stdin); /* Filtrage des caracteres (entier decimal) * Nota : la saisie s'arrete a la premiere erreur. * Ce qui est saisi avant est considere comme valide. * * "123a" -> "123" : ret = 1 * * "a123" -> "" : ret = 0 */ ret = sscanf (saisie, "%[0-9-]s", temp); } while (ret != 1); { long n = strtol (temp, NULL, 10); printf ("La chaine est '%s', soit %ld\n", temp, n); } return 0; }
Partager