Array to integer problem(integer too long).

Victor victor@ambra.ro
Wed Feb 16 13:24:00 GMT 2005


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@ambra.ro> 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.
>>
>>
>>    
>>
>
>  
>




More information about the Gcc-help mailing list