C语言WIN32 GDI 显示文字问题VS2010

我现在屏幕上显示中文字,相关代码如下声明intleft_fishNum=6,score=0;floattime_All=60.00;wchar_tstr[200];//字... 我现在屏幕 上显示中文字,相关代码如下
声明
int left_fishNum=6,score=0;
float time_All=60.00;
wchar_t str[200];//字符串

swprintf_s(str,L"得分:%ld\t剩余时间:%.2f ,剩下 %d 条鱼了!",score,time_All,left_fishNum);
SetTextColor(g_mdc,RGB(255,255,255));
TextOut(g_mdc,20,18,str,wcslen(str));
编译器提示:
1>c:。。。main.c(276): warning C4047: “函数”:“size_t”与“unsigned short [29]”的间接级别不同
1>c:。。。main.c(276): warning C4024: “swprintf_s”: 形参和实参 2 的类型不同
1>c:。。。main.c(276): warning C4047: “函数”:“const wchar_t *”与“int”的间接级别不同
1>c:\users\administrator\desktop\fishccc\fishccc\main.c(276): warning C4024: “swprintf_s”: 形参和实参 3 的类型不同
1>Link:
补充 1>c:main.c(274): error C2275: “wchar_t”: 将此类型用作表达式非法
  1> f:\biancheng\vs\vc\include\codeanalysis\sourceannotations.h(35) : 参见“wchar_t”的声明
  1>c:main.c(274): error C2146: 语法错误: 缺少“;”(在标识符“str”的前面)
展开
 我来答
bhtzu
2015-04-24 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4206万
展开全部

你这个和显示文字无关,就是swprintf_s函数使用错误。

swprintf_s是一个安全优化函数,每个字符串后面需要指定字符串长度限制。

swprintf_s(str,199,L"得分:%ld\t剩余时间:%.2f ,剩下 %d 条鱼了!",score,time_All,left_fishNum);

这样试试。

追问
可以了,谢谢!看来要多补补这方面知识,我都是依葫芦画瓢做的。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式