Bonjour
Pour tester strtoul j'ai ecris le programme suivant
Code C : 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 #include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <limits.h> #include <errno.h> int main (void) { char * p_end =NULL; errno = 0; uint32_t result = strtoul("-333",&p_end, 10); printf("strtoul return %u\n p_end = %s\n UMAX = %u\n", result, p_end, ULONG_MAX); perror("conversion"); return 0 ; }
je m'attendais a recevoir un message d'erreur mais aucuen erreur n'est signalee par mon programme
voici la sortie
Comment detecter uen erreur si on passe a strtoul une chaine avec un nombre negatif ?strtoul return 4294966963
p_end =
UMAX = 4294967295
conversion: Success
Partager