关于强制类型转换 long 到 char

dabuliuxing 2009-06-16 09:33:16
想往窗口的状态栏输出一串数据

CStatusBar* pStatus=(CStatusBar*)
AfxGetApp()->m_pMainWnd->GetDescendantWindow(AFX_IDW_STATUS_BAR);
pStatus->SetPaneText(0,myNum);


怎么把一个long 类型的myNum 转换成const char *啊 大家给点意见吧 谢啦

没转换时报错为:
error C2664: 'SetPaneText' : cannot convert parameter 2 from 'long' to 'const char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
...全文
429 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mstlq 2009-06-16
  • 打赏
  • 举报
回复
也可以使用stringstream流转换,这个基本上对所有内置类型的转换都可以哦
#include <string>
#include <sstream>
using namespace std ;
long i;
//string str;
stringstream stream;
stream<<i;
cout<<stream.str().c_str(); //stream.str().c_str()这个东西就是const char*了

虽然在这个例子里面显得没什么必要,不过stringstream比较灵活,用好了,会很方便的^_^
  • 打赏
  • 举报
回复
ltoa即可啊。
chenzhp 2009-06-16
  • 打赏
  • 举报
回复
ltoa  ltoa函数把长整形数转换为字符串的函数
  原型:char *ltoa(long value,char *string,int radix)
  功能:把value的值转换为以NULL结束的字符串,并把结果存在string中。radix是转换的基数值,在2到36之间。分配给string的空间必须可容纳返回的所有字节(最多33字节)。
  返回值:指向string的指针
  头文件:stdlib.h
  ltoa()的声明是:
  char *ltoa(long value,char *string,int radix);
  value ----------------- 要转换的数值
  string ----------------- 转换后指向字符串的指针
  radix ----------------- 进制
  例如:ltoa(num,str,10); // 将num以10进制方式转换为串str
  如当num=159时,则str='159'
yxq281426250 2009-06-16
  • 打赏
  • 举报
回复
使用Cstring,然后使用Cstring的Format函数将myNum进行格式化到Cstring中可以吗

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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