__int64及_atoi64使用

将字符串转换成整数时,一般会用_ttoi()或_atoi(),但有时字符串转换后的整数比较大时,用int来保存结果可能就不够了。

这时,我们得用_atoi64()来转换,而且保存结果的数据类型要用__int64。看下面的例子:

#include <iostream.h>
#include <afx.h>
 
typedef  struct  _tagLongLong
{
     UINT  n1;
     UINT  n2;
}longlong;
 
int  main()
{
     CString s = "20110215160215" ;   // 时间:2011-2-15 16:02:15
     __int64  n = _atoi64(s);
     printf ( "%I64d\n" , n);
//  cout<<n<<endl;                  // error C2593: 'operator <<' is ambiguous
     
     return  0;
}

通过上面的_atoi64可以保存结果,但是用cout输出却无法输出(编译错误,因为没有重载<<用来输出__int64的)。用printf可以正确输出__int64类型的数据。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值