Null终止MASM / GetModuleFileName中的字符串

时间:2013-09-26 16:39:29

标签: masm null-terminated getmodulefilename

在我的程序中,我从Windows Api调用GetModuleFileName函数。该函数告诉我运行* .exe的路径。

在Windows XP计算机上,字符串(szSrc)不会根据MSDN以空值终止。

invoke GetModuleFileName,NULL,szSrc,255

我如何null终止它?

1 个答案:

答案 0 :(得分:0)

您需要在末尾为变量添加零

.data
szSrc db "Your string",0

如果您需要在运行时执行此操作,则需要获取变量的长度(szSrc),然后您可以编写如下内容:

lea eax,szSrc
mov byte ptr [eax+szSrcLen],0

注意:提供有效的长度..很重要,如果你不知道正确的字符串长度,那么就不可能创建一个空字符串。