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
strtoul return 4294966963
p_end =
UMAX = 4294967295
conversion: Success
Comment detecter uen erreur si on passe a strtoul une chaine avec un nombre negatif ?