brug af strtoul
Hej eksperterJeg er i gang med at forsøge på at lave en streng om til en integer. Til dette bruger jeg strtoul.
Jeg har dog lidt problemer i følgende eksempel:
#include <string.h>
#include <errno.h>
#include <stdio.h>
int main() {
unsigned long int tmp = strtoul("2147483648", NULL, 10);
printf("%lu\n", tmp);
printf("%lu\n", strtoul("2147483648", NULL, 10));
return 0;
}
Den første printf giver en compiler advarsel:
integers.c: In function ‘main':
integers.c:8: warning: format ‘%lu' expects type ‘long unsigned int', but argument 2 has type ‘int'
Når jeg kører programmet får jeg:
-2147483648
2147483648
Så den anden printf virker tilsyneladende. Mit problem opstår fordi at jeg gerne vil have gemt resultatet af strtoul i variablen tmp, men jeg er lidt i tvivl om jeg har valgt den rigtige type osv.
Er der en der kan hjælpe?