首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用OutputDebugString添加指针

如何使用OutputDebugString添加指针
EN

Stack Overflow用户
提问于 2016-03-21 19:56:53
回答 3查看 460关注 0票数 1

我的代码处于调试模式:

代码语言:javascript
复制
OutputDebugString(_T("Element Name = ") + (Node->getParentElement() == NULL ? "null" : Node->getParentElement()->getName()) + _T("\n"));

 //getname() type is CString and GetParentElement() type is CXMLElement

使用这段代码,我得到下面的错误: error C2110:'+‘:无法添加两个指针。我知道两个指针不能相加。

应该使用什么API来清除此错误?

EN

回答 3

Stack Overflow用户

发布于 2016-03-21 20:04:14

您可以使用它,如下所示:

代码语言:javascript
复制
TCHAR msgbuf[256]; //keep required size
sprintf(msgbuf, "The value is %s\n", charPtrVariable);
OutputDebugString(msgbuf);
票数 1
EN

Stack Overflow用户

发布于 2016-03-22 04:45:01

因为问题是用C++标记的,所以我建议使用stringstream:

代码语言:javascript
复制
#include <sstream>
//...
std::stringstream ss;
ss << "Element Name = " 
   << (Node->getParentElement() == NULL ? "null" : Node->getParentElement()->getName()) 
   << std::endl;
OutputDebugString(ss.str().c_str());
票数 1
EN

Stack Overflow用户

发布于 2016-03-21 21:00:04

因为不能将两个指针添加到一起来连接字符串,所以可以使用临时CString对象并附加到该对象:

代码语言:javascript
复制
CString tmp = _T("Element Name = ");
tmp += Node->getParentElement() == NULL ? "null" : Node->getParentElement()->getName();
tmp += _T("\n");
OutputDebugString(tmp);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36130404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档