【发布时间】:2016-04-25 14:51:39
【问题描述】:
我正在使用 Visual Studio 开发 MFC 接口,但输出不是应有的。我使用的代码与代码块中使用的 on 相同,但这里的输出不同,我认为这是因为格式。在我的“IDC_Values”中输入“e”和“d”的正确方法是什么?我在网上搜索但找不到太多关于 MFC 的信息
int e[100], d[100];
CString Text;
Text.Format((LPCWSTR)L"%d \t%d", e, d);
SetDlgItemText(IDC_Values, Text);
【问题讨论】:
-
e和d是数组,因此使用%d格式说明符打印它们是错误的。你想达到什么目的?打印数组的第一个元素?打印数组的所有元素?此外,您不需要在格式字符串之前使用(LPCWSTR)强制转换。IDC_Values是什么?编辑控件的 id,静态的还是...?显示e和d中的值示例以及您要在IDC_Values中输入的文本(控制IDC_Values是什么)。 -
我要打印数组的所有元素
-
IDC_Values 是编辑控件的id
-
至于
LPCWSTR演员 -- 从不 演员字符串类型,即使它可能“工作”。如果一个字符串在不应用强制转换的情况下不能独立存在,那么代码可以而且应该被认为是错误的。强制转换表明您正试图让编译器关闭有关不同字符串类型的错误。相反,为作业使用正确类型的字符串。 -
您需要编写一个循环来打印数组的所有值。即便如此,
Format怎么知道如何格式化一系列数字?中间有空格?两个空格?回车?管道符号?