请问如何把数字 12345678901 转化为字符串 "12345678901"?

ehongkong 2010-01-10 12:05:46
请问如何把数字 12345678901 转化为字符串 "12345678901"?谢谢!!
...全文
245 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
norsd 2010-01-10
  • 打赏
  • 举报
回复
__int64 i8Data = 12345678901 ;
WCHAR wcsBuf[sizeof(__int64)+1];
swprintf( wcsBuf , L"%I64u" , i8Data ) ;
greatsong 2010-01-10
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;

int main()
{
char szNum[20] = {0};
__int64 num = 12345678901;

_i64toa(num, szNum, 10);

cout << szNum << endl;

return 0;
}
sumnet 2010-01-10
  • 打赏
  • 举报
回复
int sprintf(
char *buffer,
const char *format [,
argument] ...
);

Write formatted data to a string.
wltg2001 2010-01-10
  • 打赏
  • 举报
回复
对10进行取余运算,结果就是个位数字,转化为字符存入,然后将原数整除10,重复进行下去就行了。
sb3day 2010-01-10
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 ehongkong 的回复:]
引用 11 楼 miaolingshaohua 的回复:
温馨提示:不能使用itoa函数,会溢出的^_^
就是因为这个原因,所以才提问的......
[/Quote]学习了,3楼的方法就可以
ehongkong 2010-01-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 miaolingshaohua 的回复:]
温馨提示:不能使用itoa函数,会溢出的^_^
[/Quote]就是因为这个原因,所以才提问的......
哈利路亚1874 2010-01-10
  • 打赏
  • 举报
回复
温馨提示:不能使用itoa函数,会溢出的^_^
sb3day 2010-01-10
  • 打赏
  • 举报
回复
char a[10];
itoa(i,a,10);
norsd 2010-01-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 arong1234 的回复:]
直接写WCHAR是非常不好的习惯,你应该写成:
__int64 i8Data = 12345678901 ;
TCHAR tcsBuf[65];
_stprintf( wcsBuf , _T("%I64u") , i8Data ) ;


引用 5 楼 norsd 的回复:
脑子坏了,写错了前面
__int64 i8Data = 12345678901 ;
WCHAR wcsBuf[65];
swprintf( wcsBuf , L"%I64u" , i8Data ) ;


[/Quote]
在32位主导的桌面系统下:
TCHAR会随着项目变大,造成很多隐藏的问题.
过去是在从char->wchar的阵痛期.
现在就不要再执着于单字符的兼容了.
char就char,wchar就wchar.
类似现在是32->64的阵痛.
若干年后,随着桌面系统全面64,还有人执着于32位兼容吗?
您的话,过去我赞同,但现在是弊大于利.
因为宽字符已经全面取代char了,所以有利的方面越来越少,不好的方面也越来越凸显.
wgd123pl 2010-01-10
  • 打赏
  • 举报
回复
有心的人可以看看:相信对你帮助的。
把整数转换成字符串的函数有:
itoa(......)转换整型数据,_i64toa(.....)转换64位整型数据;
ui64toa(....)转换无符号64位整型数据,_itow(....),_i64tow(....),_ui64tow(....).
函数原型如下:
char * _itoa{ int value, char * string, int radix }
char * _i64toa{ int64 value,char *string,int radix }
char * _u64toa{ unsigned _int64 value,char *string,int radix}
wchar _t * _itow{ int value,wchar_t * string, int radix}
wchar _t * _i64tow{ int value,wchar_t * string, int radix}
刀仔割大树 2010-01-10
  • 打赏
  • 举报
回复
使用_itoa()函数转换,将数字转为字符串,详细建议查看msdn
arong1234 2010-01-10
  • 打赏
  • 举报
回复
直接写WCHAR是非常不好的习惯,你应该写成:
__int64 i8Data = 12345678901 ;
TCHAR tcsBuf[65];
_stprintf( wcsBuf , _T("%I64u") , i8Data ) ;


[Quote=引用 5 楼 norsd 的回复:]
脑子坏了,写错了前面
__int64 i8Data = 12345678901 ;
WCHAR wcsBuf[65];
swprintf( wcsBuf , L"%I64u" , i8Data ) ;

[/Quote]
norsd 2010-01-10
  • 打赏
  • 举报
回复

脑子坏了,写错了前面
__int64 i8Data = 12345678901 ;
WCHAR wcsBuf[65];
swprintf( wcsBuf , L"%I64u" , i8Data ) ;

16,547

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧