1. 程式人生 > >64位(_int64)與字串的相互轉化

64位(_int64)與字串的相互轉化

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。