刚才写程序,偷了个懒,使用了lstrcpyn来进行unicode的字符拷贝,结果发现少拷贝了一个字符,看了下MSDN:
TCHAR chBuffer[512]; lstrcpyn(chBuffer, "abcdefghijklmnop", 4);
chBuffer的结果为abc, 也就是指定了长度4,拷贝3个字符,同时加一个'/0'字符。
而strncpy(unicode版本为_tcsncpy)则中规中矩的拷贝参数指定的字符数。
刚才写程序,偷了个懒,使用了lstrcpyn来进行unicode的字符拷贝,结果发现少拷贝了一个字符,看了下MSDN:
TCHAR chBuffer[512]; lstrcpyn(chBuffer, "abcdefghijklmnop", 4);
chBuffer的结果为abc, 也就是指定了长度4,拷贝3个字符,同时加一个'/0'字符。
而strncpy(unicode版本为_tcsncpy)则中规中矩的拷贝参数指定的字符数。