复制代码到新文件中报错了

0

char s[10];

InputBox(s, 10, _T("请输入票数"));
sscanf_s(s, "%d", &num);

drawtext(s, &R6, DT_CENTER | DT_VCENTER | DT_SINGLELINE);


错误(活动) E0304 没有与参数列表匹配的 重载函数 "drawtext" 实例 


错误(活动) E0167 "char *" 类型的实参与 "LPTSTR" 类型的形参不兼容 

在原来的文件中是没有错误的,但是新建一个同类型文件之后复制代码过去之后就报错了

希望大家可以解答一下

ava
雷雨阵阵

2020-8-30

0

这个和项目的字符集设置有关。

char 字符串属于 MBCS 字符集。

wchar_t 字符串属于 Unicode 字符集。

如果项目的字符集设置为 Unicode(默认),那么你传递给 InputBox 和 drawtext 的字符串,就应该对应的是 Unicode 版本。

根据你的情况,你的旧项目字符集估计是 MBCS,新项目字符集估计是 Unicode,所以才导致这个问题。

建议统一使用 Unicode 字符集,然后你的代码这样改:

wchar_t s[10];

InputBox(s, 10, L"请输入票数");
swscanf_s(s, L"%d", &num);

drawtext(s, &R6, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
ava
慢羊羊

2020-8-30