_com_util::ConvertStringToBSTR 使用时的注意事项
2006-01-28 10:05
423 查看
在进行COM编程的时候常常用到VARIANT类型的变量, 其中的字符串分量为bstrVal即双字节的BSTR, 如果需要将其转换为字符串STRING我以前使用强制类型转换:
(const char*)bsVal;
在看了潘爱民老师的<<COM编程原理>>偶尔发现如下函数(例子摘自MSDN)
//compile options needed: /Gr or /Gz
#include <comutil.h>
int main()
{
char sz[]="hello";
_bstr_t b;
b = _com_util::ConvertStringToBSTR(sz);
char * p = _com_util::ConvertBSTRToString(b);
return 1;
}
注意: 上述代码编译时候出现如下错误
error LNK2001: unresolved external symbol "char * __fastcall
_com_util::ConvertBSTRToString(unsigned short *)"
(?ConvertBSTRToString@_com_util@@YIPADPAG@Z)
error LNK2001: unresolved external symbol "unsigned short * __fastcall
_com_util::ConvertStringToBS
TR(char const *)" (?ConvertStringToBSTR@_com_util@@YIPAGPBD@Z)
解决: 在Link页加入comsupp.lib就可以了, 不过我的程序编译的时候没有上述错误, 但是在同事的机器上出现了.
我的用法 -- _com_util::ConvertStringToBSTR();
char* pTemp;
CString csTemp;
pTemp = _com_util::ConvertBSTRToString(bsVal);
csTemp = pTemp;
delete pTemp;
pTemp = NULL;
// 这是我们公司的一位高手的最安全的用法
// 对于ConvertStringToBSTR不需要
(const char*)bsVal;
在看了潘爱民老师的<<COM编程原理>>偶尔发现如下函数(例子摘自MSDN)
//compile options needed: /Gr or /Gz
#include <comutil.h>
int main()
{
char sz[]="hello";
_bstr_t b;
b = _com_util::ConvertStringToBSTR(sz);
char * p = _com_util::ConvertBSTRToString(b);
return 1;
}
注意: 上述代码编译时候出现如下错误
error LNK2001: unresolved external symbol "char * __fastcall
_com_util::ConvertBSTRToString(unsigned short *)"
(?ConvertBSTRToString@_com_util@@YIPADPAG@Z)
error LNK2001: unresolved external symbol "unsigned short * __fastcall
_com_util::ConvertStringToBS
TR(char const *)" (?ConvertStringToBSTR@_com_util@@YIPAGPBD@Z)
解决: 在Link页加入comsupp.lib就可以了, 不过我的程序编译的时候没有上述错误, 但是在同事的机器上出现了.
我的用法 -- _com_util::ConvertStringToBSTR();
char* pTemp;
CString csTemp;
pTemp = _com_util::ConvertBSTRToString(bsVal);
csTemp = pTemp;
delete pTemp;
pTemp = NULL;
// 这是我们公司的一位高手的最安全的用法
// 对于ConvertStringToBSTR不需要
相关文章推荐
- _com_util::ConvertStringToBSTR 使用时的注意事项
- _com_util::ConvertStringToBSTR 使用时的注意事项
- _com_util::ConvertStringToBSTR 使用时的注意事项
- _com_util::ConvertStringToBSTR 使用时的注意事项
- Java SpringBoot中使用sqljdbc4注意事项 java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
- 使用串口COM进行双机调试的一些注意事项
- COM连接点在多线程中使用的注意事项
- BSTR详解三 - BSTR使用注意事项
- java.util.Formatter 使用注意事项
- _com_util::ConvertBSTRToString的使用问题
- BSTR详解三 - BSTR使用注意事项
- COM连接点C++客户使用注意事项
- JAVA Scanner 用法注意事项(scanner 使用错误:Exception in thread "main" java.util.NoSuchElementExceptionation )
- java.util.List接口的方法subList()的使用注意事项
- java.util.List接口的方法subList()的使用注意事项
- BSTR详解三 - BSTR使用注意事项
- 使用COM、OLE的注意事项
- BSTR详解三 - BSTR使用注意事项
- _com_util::ConvertBSTRToString如何使用
- java.util.List接口的方法subList()的使用注意事项