关于swprintf的一个问题
#define REP 10000000
......
static INT iStatus;
static LONG ITime;
static PARAMS params;
static TCHAR* szMessage[] = {TEXT("Ready (left mouse button begins)"),
TEXT("Working (right mouse buton ends)"),
TEXT("%d repetitions in %ld mesc")};
....
wsprintf(szBuffer,szMessage[iStatus],REP,ITime)
....
请问swprintf(szBuffer,szMessage[iStatus],REP,ITime)后面两个参数“REP,ITime”表示什么意义,我看了一下MSDN好像也没有看到这种用法
问题点数:20、回复次数:3Top
1 楼ringphone(临风)回复于 2006-03-03 14:00:42 得分 0
先问你能理解wsprintf("%d repetitions in %ld mesc",10000000,0);这个用法吗?
不理解的话能理解下面的用法吗?
char szName[] = "my name";
printf("hello world,my name is %s",szName);
REP是预定义的值,ITime是一个全局变量,
wsprintf(szBuffer,szMessage[iStatus],REP,ITime)
只有在iStatus=2的时候才是有效的,否则会出错。
如果不理解,我就没有办法了。Top
2 楼alen_ghl(东方求*)回复于 2006-03-03 14:12:28 得分 0
字符串格式化……Top
3 楼SeanQ(随意飞扬)回复于 2006-03-03 16:38:01 得分 0
其实我后来也发现了szMessage[2] = TEXT("%d repetitions in %ld mesc")中的两个“%d”因为我一直盯着szMessage为一字符串,而忽略其内容。不过ringphone所说的“只有在iStatus=2的时候才是有效的,否则会出错”并不正确,编译器会忽略后面的参数,运行也不会出错。
不过还是谢谢大家,不知道在怎样给分,请告知Top




