我目前正在研究基于Windows的C ++程序。我习惯于对控制台应用程序进行工作/编码,因此我对很多尝试执行的语法不熟悉。所以以后我可能会有更多问题。
现在,我想打印一些文本并在文本中显示一个变量。
例如,如果我要打印“我X岁,且X = 30”,那么该语法将如何形成?
我知道这可行:
DrawText(hDC,L"I am X years old",-1,&rect,DT_CENTER | DT_WORDBREAK );
我想做的是:
DrawText(hDC,L"I am "+ X +" years old",-1,&rect,DT_CENTER | DT_WORDBREAK );
但这是行不通的。那么我该如何正确实现呢?
最佳答案
C ++不是像Javascript这样的无类型语言,因此您不能通过将各个部分加在一起来构造这样的字符串。相反,您必须自己使用swprintf_s之类的函数来构建字符串。例如,
wchar_t wchBuf[128];
swprintf_s(wchBuf, _countof(wchBuf), L"I am %ld years old", X);
DrawText(hDC, wchBuf, -1, &rect, DT_CENTER | DT_WORDBREAK);