gpt4 book ai didi

c++ - 将 strcpy_s 用于 TCHAR 指针(Microsoft 特定)

转载 作者:可可西里 更新时间:2023-11-01 13:27:52 26 4
gpt4 key购买 nike

我想知道哪种方法是正确的?

_tcscpy(tchar_pointer, _tcslen(tchar_pointer), _T("Hello World"));

_tcscpy(tchar_pointer, _tcsclen(tchar_pointer), _T("Hello World"));

_tcscpy(tchar_pointer, ???, _T("Hello World"));

最佳答案

假设您使用的是 _tcscpy_s 而不是 _tcscpy,第二个参数应该是数组的实际大小,而不是当前包含的字符串的长度。例如:

TCHAR dest[20];
_tcscpy_s(dest, _countof(dest), _T("Hello"));

您甚至可以使用不需要 size 参数的 2 参数版本:

_tcscpy_s(dest, _T("Hello"));

如果 tchar_pointer 实际上是一个指针而不是数组(正如其名称所暗示的那样),那么在确定其实际容量时需要非常小心。需要更多上下文来建议正确的方法,但使用包含的字符串的长度来计算缓冲区的大小几乎肯定是错误的方法。

关于c++ - 将 strcpy_s 用于 TCHAR 指针(Microsoft 特定),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2946916/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com