Ah, okay. long int in most 32 bit system is the same as int. Usually there is a type called long long which is 64 bits on 32 bit systems. Brian On Wed, 16 Feb 2005 13:19:05 +0200, Victor <victor@xxxxxxxx> wrote: > Thank you. > The problem is that I don't know what type to declare the numeric variable. > If I try A simple program like this: > #include <stdio.h> > #include <stdlib.h> > int main(int argc, char **argv) { > long int test; > test = 89126342536; > } > when I compile I get the following error: > test.cpp: In function `int main(int, char**)': > test.cpp:14: error: integer constant is too large for "long" type > > I know I must replace the line "long int test" with something else, but > I don't know with what. > Thank you. > > Brian Budge a scris: > > >Hi Victor - > > > >The number you specify is larger than can be held in a 32 bit integer. > > Use atoll instead. > > > > Brian > > > > > >On Wed, 16 Feb 2005 12:53:50 +0200, Victor <victor@xxxxxxxx> wrote: > > > > > >>I have this simple script: > >> > >>#include <stdio.h> > >>#include <stdlib.h> > >>#include <string.h> > >>int main(int argc, char **argv) { > >> int test; > >> char *numar = "89126342536"; > >> test = atoi(numar); > >> printf("Test: %d", test); > >>} > >> > >>I want to convert the string numar to integer. > >>But the result - when I run the script is : > >>Test: 2147483647 > >>and I would expect: > >>Test: 89126342536. > >> > >>It seems that the number is too big. > >>How can I solve this problem. > >> > >>Thank you. > >> > >> > >> > >> > > > > > > > >