更新时间:2024-08-31 16:39
lstrcpyn该函数把第二个参数指定的字符串复制到第一个参数指定的字符串,第三个参数指定复制的长度
LPTSTR lstrcpyn( __out LPTSTR lpString1, __in LPCTSTR lpString2, __in int iMaxLength);
该函数返回指向缓冲区的指针(即使源字符串长于第三参数所指定长度,函数succeed)。
第一参数如果过小,会导致缓存溢出;如果是Unicode版本,sizeof( )返回的是字节数,而不是WCHAR,这就会导致缓存区溢出;缓存溢出可能导致严重问题。考虑使用 sizeof(szString1)/sizeof(szString1[0])得到适当的大小。
(可以考虑使用 StringCchCopy 函数代替)
缓冲区指向必须足够大以包含结束符;实例:
此例结果为“abc”以及一个空结束符被复制至chBuffer。
(第一次对照MSDN Help翻译,难免有错,请多包涵指正,谢谢)