社区
C++ 语言
帖子详情
COM中的BSTR遇到的字符转化问题
Enter空格
2012-05-14 11:26:11
我现在做com的时候碰到点麻烦。
我的接口要使用BSTR传出一个8字节的随机数。
而每个字节的范围是0~255。
所以当我产生8个字节的随机数并转化为宽字符的时候
使用MultiByteToWideChar转化的宽字符经常转化不全
我估计是数字超出128所致。
同理,我的BSTR也会传出一个转化不全的随机数。
请问这样的情况我该怎么解决?
...全文
64
8
打赏
收藏
COM中的BSTR遇到的字符转化问题
我现在做com的时候碰到点麻烦。 我的接口要使用BSTR传出一个8字节的随机数。 而每个字节的范围是0~255。 所以当我产生8个字节的随机数并转化为宽字符的时候 使用MultiByteToWideChar转化的宽字符经常转化不全 我估计是数字超出128所致。 同理,我的BSTR也会传出一个转化不全的随机数。 请问这样的情况我该怎么解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Enter空格
2012-05-14
打赏
举报
回复
靠的。。
我现在感觉,这客户的需求本身就有问题。
让产生8个字节的0~255随机数,
却使用BSTR带出这个数据。。
这不扯蛋呢么。。
Enter空格
2012-05-14
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
实在不行,就把1Byte数值拆解为2Byte,这样就绝对<128
[/Quote]
如果只是我自己用的话,我当然想怎么做都可以。
甚至直接把BSTR当char*用。
但现在我要做的接口是客户要求的,是对他们开放的。
所以肯定不可以这样做。
Enter空格
2012-05-14
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
BSTR和CSring是可以相互转换的,一个8字节的随机数你可以做为一个CString,每一个都是0-9的数字怎么为超过128呢。
[/Quote]
我现在使用的产生随机数的接口会产生8个字节数据
每个字节是0~255。
让我想用BSTR带才出这个8字节的数据。
但是128以后那些数据是非字符的。
这样的话我该怎么使用BSTR带出数据?
SuperLy
2012-05-14
打赏
举报
回复
实在不行,就把1Byte数值拆解为2Byte,这样就绝对<128
赵4老师
2012-05-14
打赏
举报
回复
字符串那些事儿:BSTR-LPSTR-LPWSTR-CString-VARIANT-COleVariant-_variant_t-CComBSTR-_bstr_t
http://blog.csdn.net/pizi0475/archive/2010/03/04/5346708.aspx
一叶之舟
2012-05-14
打赏
举报
回复
BSTR和CSring是可以相互转换的,一个8字节的随机数你可以做为一个CString,每一个都是0-9的数字怎么为超过128呢。
Enter空格
2012-05-14
打赏
举报
回复
嗯,貌似是这个理。
他们要的BSTR应该就是要用16进制数的字符形式。
Saleayas
2012-05-14
打赏
举报
回复
先把这个八个随机数转换成字符串。
VC++
中
字符
串转换CString, char*,
BSTR
, 多字节,unicode
字符
集转换的
问题
_T的意思是通知编译器,自行进行
字符
串的多字节/Unicode转换。 而L表示,该
字符
串为Unicode版本。 http://www.blogjava.net/neumqp/archive/2006/03/09/34504.html http://blog.csdn.net/sl159/articl
在C++
中
如何将ActiveX控件所使用的
BSTR
数据转换成CHAR
字符
数组?
BSTR
类型是
COM
中
使用的标准
字符
串类型。它其实是一个32位指针,保存
字符
串首
字符
的地址。 在C++
中
使用ActiveX控件编程时经常会
遇到
声明为VARIANT* 类型但实际是
BSTR
数据的参数,如在使用WebBrowser2浏览器控件时候...
c语言
字符
转化
为运算符,c语言位运算符处理程序(二进制转换函数、十进制用二进制
字符
输出函数)...
# include # define SIZE 33void str_
bstr
(char * st);//函数在main下边需要申明一下char * del_space(char * st);int btoi(char * st);void print_
bstr
(unsigned int n);int main(int argc , char * argv[])//需要...
VC++
中
字符
串格式转换
在编程
中
,我们常常会
遇到
ANSI、Unicode以及
BSTR
不同编码类 型的
字符
串转换操作。本文先介绍基本
字符
串类型,然后说明相关的类,如C
Com
BSTR
、_
bstr
_t、CStringT等,最后讨论它们的转换方法, 其
中
还包括使用最新ATL...
字符
串格式
转化
今天在写代码的时候碰到这样的
问题
,网上查了一下,做了以下整理: CString 和 LPCTSTR 可以说通用。 原因在于CString定义的自动类型转换,没什么奇特的,最简单的C++操作符重载而已。 常量
字符
串ansi和unicode...
C++ 语言
64,648
社区成员
250,476
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章