日日夜夜 发表于 2012-10-20 23:55:47

大神大仙大哥大姐来帮帮忙

.data
szbuffer db 256 dup(?)
szCaption db '我的第一个程序',0
szText    db 'hello,world%x',0

   .code
start:
       invoke wsprintf,addr szbuffer,addr szText,offset szCaption
       invoke MessageBox,NULL,addr szbuffer, addr szCaption,MB_OKCANCEL
       invoke ExitProcess,NULL
end start

格式输出我懂,但是我搞不清楚为什么 %X就会输出地址   但是%S输出的是字符串呢? 比如说我把szText 中的%X   改为%S那么输出的就是      hello,world我的第一个程序

日日夜夜 发表于 2012-10-21 00:16:38

哎 好像知道咋回事了   第二个参数是格式化串      地址      如果是%D %X则是以地址的形式输出如果是%S则是原样输出字符串                     ☆☆〃

日日夜夜 发表于 2012-10-21 00:26:07

高手出来解释下,我觉得我的理由 好像太过于天真啊啊啊啊啊 啊{:5_100:}

补充内容 (2012-10-21 00:28):
TCHAR tcBuffer = {0};
wsprintf(tcBuffer,L"Age = %d,Name = %s\n",10,"lily");
执行wsprintf后,tcBuffer 等于 "Age = 10,Name = lily"            C语言描述的我能看懂,但是这个我实在是无法理解   
页: [1]
查看完整版本: 大神大仙大哥大姐来帮帮忙