【发布时间】:2015-12-05 12:19:57
【问题描述】:
如果names 是一个名称字符串数组,存储方式如下:
汤姆鲍勃彼得吉姆。如何分开并分别推送每个名称?每个名称占用 4 个字节对吗?这是我尝试过的,但它会打印整行:
;printf("Name %d:\t%s\n",x+1,names[x]);
mov ecx, dword x
mov edx, names
lea ebx, [edx+ecx*4]
push ebx
inc ecx
push ecx
push szOut
call _printf
add esp, 12
【问题讨论】:
-
Peter是四个字节吗? -
你能用代码展示一个简单的例子吗?
-
名称需要以零结尾。要么修复名称数据,要么让指向数据的指针的名称数组包含一个指向额外全零名称的指针。然后保存name[x+1],name[x+1] = 0,打印,恢复name[x+1]。