【问题标题】:How to use %d in C++, particularly in DrawText() [duplicate]如何在 C++ 中使用 %d,尤其是在 DrawText() [重复]
【发布时间】:2013-07-05 07:43:26
【问题描述】:

我听说过 %d,但我不知道如何使用它。 这是我想做的:

DrawText (hdcWindow, "PLACE IN QUESTION" , -1, &rc, DT_SINGLELINE);

在“PLACE IN QUESTION”处,我想显示文本和变量,如“text %d” 什么的,但我不知道语法,我如何指定 %d 在显示时代表什么?

【问题讨论】:

  • %d 在选择的几个 C 函数之外没有任何意义。
  • 哇,现在整个问题都被拆除了!我如何删除它?!? D:
  • 您可能希望将 sprintf 之类的内容与 DrawText 一起使用。
  • @NateChandler,你的意思是snprintf,对吧?
  • @chris asprintf 也不错。

标签: c++ windows winapi gdi drawtext


【解决方案1】:

DrawText 不像 printf 或类似的东西。 我建议你看看 MSDN: MSDN: DrawText

int DrawText(
  _In_     HDC hDC,
  _Inout_  LPCTSTR lpchText,
  _In_     int nCount,
  _Inout_  LPRECT lpRect,
  _In_     UINT uFormat
);

你需要转换成LPCTSTR,你可以去谷歌看看,如果我找到一个链接我会给你,但它让我很久没有做C++。

编辑: 我找到了:

int number = 1;
CString t;
t.Format(_T("Text: %d"), number);

然后DrawText(XXX, t, XXX, ...);

【讨论】:

  • 哇,真正的答案在这里!我不知道上面的其他人在说什么,因为我是个菜鸟——但是等等! nooby 问题 #2:我包括什么?
  • 您可以使用:#include <atlstr.h> #include <iostream> 一如既往,我建议您定期查看 MSDN,您只需在您喜欢的搜索引擎中输入函数名称,它们通常是第一个或第二个链接,并且您将找到所有需要的库和函数结构。 MSDN CString
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-09
  • 1970-01-01
相关资源
最近更新 更多