VS下64位整形数(_int64)与字符串的相互转化

时间:2020-11-25 17:51:54

64位整数情况如下:

类型名 字节数 别名 范围
__int64 8 long long, signed long long –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
unsigned __int64 8 unsigned long long 0 to 18,446,744,073,709,551,615

 

    在vs2008中提供了_atoi64和_i64toa的函数,这里是指_int64,而不是unsigned _int64,如果是带符号的,用前面的两个函数即可完成。如果是无符号的,将unsigned _int64转化为char*,可以使用sprintf,用法如下:

char temp[20];

unsigned _int64 a = 121222222222;

sprintf(temp,20,"%llu",a);

还有一种方法是使用函数_ui64toa_s 将unsigned _int64转化为char*, _strtoui64函数则可以将char* 转化为unsigned _int64。