当前位置:首页 科普知识 lstrcpyn

lstrcpyn

发布时间:2023-09-08 02:46:43

lstrcpyn该函数把第二个参数指定的字符串复制到第一个参数指定的字符串,第三个参数指定复制的长度

lstrcpyn详细介绍

lstrcpyn该函数把第二个参数指定的字符串复制到第一个参数指定的字符串,第三个参数指定复制的长度

lstrcpyn

lstrcpyn函数语法

LPTSTR lstrcpyn( __out LPTSTR lpString1, __in LPCTSTR lpString2, __in int iMaxLength);

lstrcpyn参数

lpString1 :指向一个缓冲区,以存储第二参数的内容。需足够长以容纳第三参数设定的TCHAR值,以及NULL结束符“0”;

lpString2 :指向以NULL结尾"0"的字符串;

lstrcpyn

iMaxLength :指定从第二参数复制至第一参数内容的大小,包括NULL结束符"0"(谨记bytes字节数对应ANSI 版本以及WCHAR值对应Unicode版本)。

lstrcpyn返回值

该函数返回指向缓冲区的指针(即使源字符串长于第三参数所指定长度,函数succeed)。

如果失败,返回NULL,lpString1不以空字符串"0"结束。

lstrcpyn注意

lstrcpyn安全警告

第一参数如果过小,会导致缓存溢出;如果是Unicode版本,sizeof()返回的是字节数,而不是WCHAR,这就会导致缓存区溢出;缓存溢出可能导致严重问题。考虑使用 sizeof(szString1)/sizeof(szString1)得到适当的大小。

(可以考虑使用 StringCchCopy 函数代替)

lstrcpyn

lstrcpyn备注

缓冲区指向必须足够大以包含结束符;实例:

TCHAR chBuffer; lstrcpyn(chBuffer, "abcdefghijklmnop", 4);

此例结果为“abc”以及一个空结束符被复制至chBuffer。

(第一次对照MSDN Help翻译,难免有错,请多包涵指正,谢谢)

温馨提示:
本文【lstrcpyn】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6