又是尼玛数据转换问题

avi9111 2011-05-26 12:07:48
调试的时候看到company_Get,还看得懂,C:\RECTAN~1.OCX
一转CString就变成,屯屯 屯屯 屯屯屯了

LPBYTE company_Get=new BYTE [80];
CString str_company=CString(company_Get);

CString要怎么转?
还有ocx的名字从注册表拿出来是这样的RECTAN~1.OCX?
...全文
126 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
avi9111 2011-05-26
  • 打赏
  • 举报
回复
屯屯 屯屯没有初始化是对D
avi9111 2011-05-26
  • 打赏
  • 举报
回复
请看清楚问题,上面的都没搞清楚问题,不要问我为什么要转

我也想问为什么API函数,取出来一定要参数是LPBYTE ,放其他参数就不行了?

我也想问怎么没有一个方法 .toString()就行了,又要算长度,又要考虑编码

我要知道LPBYTE 怎么转为CString

现在貌似直接CString str=company_Get 就行了,我再看看
「已注销」 2011-05-26
  • 打赏
  • 举报
回复
PCHAR company_Get=new CHAR [80];
strcpy(company_Get,"C:\\RECTAN~1.OCX");
CString str_company=company_Get;
「已注销」 2011-05-26
  • 打赏
  • 举报
回复
转什么啊,CString 自己有构造函数转的,CString str_company=“C:\RECTAN~1.OCX”; 这不就好了么
C:\RECTAN~1.OCX ,这是短文件名,DOS时代的遗留物。。。文件夹Documents and Settings的短文件名是:Docume~1,在程序中用哪个都可以。
kyotrue 2011-05-26
  • 打赏
  • 举报
回复
屯屯 屯屯 屯屯屯就是DEBUG版数据没有初始化
King_hhuang 2011-05-26
  • 打赏
  • 举报
回复
LPBYTE company_Get=new BYTE [80];
memset(company_Get,0,80);
取出值放进company_Get
……
CString str_company=CString(company_Get);
avi9111 2011-05-26
  • 打赏
  • 举报
回复
怎么能拿出来时C:\RECTANGLE.OCX?
guo693 2011-05-26
  • 打赏
  • 举报
回复
此外 不知道你为什么要先用company_Get指向一个动态生成的数组。直接把想要的字符串赋给一个CString变量就可以了啊。new出来的数组 你还要注意回收内存,否则会引起内存泄露。
guo693 2011-05-26
  • 打赏
  • 举报
回复
CString str=company_Get 就行了
或者
CString str;
str.Format(_T("%s"),company_Get);

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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