关于_bstr_t的字符串截断问题

whocares 2003-08-29 02:50:03
大长度char字符串变量转化到_bstr_t变量时,会被截断。

例如
char szTemp[200] = "INSERT INTO useradm (name, username, password, purview, createtime, modifytime) VALUES('r', 'r', 'r', 'F', '2003-08-29 14:41:52', '2003-08-29 15:32:34'";
_bstr_t bstrTemp = szTemp;

发现bstrTemp只能显示"INSERT INTO useradm (name, username, password, purview, createtime, modifytime) VALUES('r', 'r', 'r', 'F', '2003-08-29 14:41:5"后面就没了

有人知道改正方法?
...全文
74 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
whocares 2003-08-29
  • 打赏
  • 举报
回复
谢了

那_bstr_t存储的字符是不是有上限?
kof99th 2003-08-29
  • 打赏
  • 举报
回复
同意楼上的,你输出倒屏幕或文件中试试
bluebohe 2003-08-29
  • 打赏
  • 举报
回复
它只是在VC调试窗口中显示那么多,其实并没有截断,你调试一下下面的代码看看

char szTemp[200] = "INSERT INTO useradm (name, username, password, purview, createtime, modifytime) VALUES('r', 'r', 'r', 'F', '2003-08-29 14:41:52', '2003-08-29 15:32:34'";
_bstr_t bstrTemp = szTemp;
CString str1=(LPCTSTR)bstrTemp;
char szaaa[200];
strcpy(szaaa,(LPCTSTR)str1);
qxtlw 2003-08-29
  • 打赏
  • 举报
回复
你的用法有误 你试试用以下代码:
char *szTemp = "INSERT INTO useradm (name, username, password, purview, createtime, modifytime) VALUES('r', 'r', 'r', 'F', '2003-08-29 14:41:52', '2003-08-29 15:32:34'";

_bstr_t bstrTemp( szTemp );

3,245

社区成员

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

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