Windows API 缓冲区注释中 (return +1) 是什么意思?

问题描述 投票:0回答:2

这里

return + 1
是什么意思

DWORD WINAPI GetModuleFileName( __in_opt HMODULE hModule, __out_ecount_part(nSize, return + 1) LPTSTR lpFilename, __in DWORD nSize );
    
c++ windows winapi
2个回答
1
投票
意思是“比调用返回的值多1”。

__out_ecount_part

注释希望其
length表达式包含NUL终止符,而GetModuleFileName
返回值不包含终止符,因此
+1
要考虑差异。

如果函数成功,返回值是复制到缓冲区的字符串长度,以字符为单位,不包括终止空字符。


1
投票
在“C”中,所有字符串都以“”结尾。所以 +1 允许在文件名末尾添加额外的“”

© www.soinside.com 2019 - 2024. All rights reserved.