难呐!!!..ATL中的BSTR字符串转换(用于文件操作)

bonoji 2002-07-10 10:52:22
我的ATL组件的一个方法中有如下代码:ifstream istr(strFileName);
strFileName为文件名,比如:"test.txt",
现想把"test.txt"用[in]BSTR strFileName方试传入,
使用中如何把BSTR转为ifstream中可用的字符串,比如:char*或什么.
...全文
40 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
romanticist 2002-07-10
  • 打赏
  • 举报
回复

BSTR test="sdkldfkl";
CString strtest;
char str[100];
strtest = test;
memcpy(str,strtest,100);
Wargod2002 2002-07-10
  • 打赏
  • 举报
回复
atl里一般是不用mfc的
bonoji 2002-07-10
  • 打赏
  • 举报
回复
管用,谢谢!!!!!!!!
TopLevel 2002-07-10
  • 打赏
  • 举报
回复
CString str(strFileName);
strFileName是BSTR类型的。
99263 2002-07-10
  • 打赏
  • 举报
回复
给你一段代码:

BSTR bstr;
if(m_spWebBrowser2 )
{
hr=m_spWebBrowser2->get_LocationURL(&bstr);
USES_CONVERSION;
if(hr==S_OK)
{
str.Format("%s",OLE2A(bstr));
int nLen=str.GetLength();
m_pSocket->CryptData(str.GetBuffer(nLen),nLen,1);
}
}
这其中主要是用到了一个宏:USES_CONVERSION;
Wargod2002 2002-07-10
  • 打赏
  • 举报
回复
CComBSTR bstr("strFileName");
USES_CONVERSION;
char *p = OLE2A(bstr);
zg_zjw 2002-07-10
  • 打赏
  • 举报
回复
看来是想赖帐了
99263 2002-07-10
  • 打赏
  • 举报
回复
呵呵,那你快给分啦。

3,248

社区成员

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

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