在我的程序中,我从Windows API调用GetModuleFileName
函数。该函数告诉我正在运行的.EXE文件的路径。
在 Windows XP 机器上,根据 MSDN,字符串 (szSrc) 不会以空值终止。
invoke GetModuleFileName,NULL,szSrc,255
如何空终止它?
您需要在末尾为变量添加一个零。
.data
szSrc db "Your string", 0
如果你需要在运行时这样做,你需要获取变量的长度(szSrc),然后你可以写这样的东西:
lea eax, szSrc
mov byte ptr [eax+szSrcLen], 0
注意:提供有效的长度很重要。如果您不知道正确的字符串长度,则无法制作空字符串。