我有结构
NewStruct1
{
uint factor;
NewStruct2 assert[3];
char name[21];
}
和另一个
NewStruct2
{
uint newFactor;
char newName[21];
}
这里我在dll中调用函数'func',如下所示
NewStruct1 var;
func(&var);
功能是
func(NewStruct1 *v)
{
std::string myName = "werttt";
strcpy_s(v->assert[0].newName, myName.size(), myName.c_str());
}
这样做strcpy_s
即使有足够的空间容纳(L"Buffer is too small" && 0)
也是如此。任何人都可以帮我吗?
答案 0 :(得分:3)
strcpy_s
的第二个参数必须是 destination 中的元素数,即21(newName
中的字符数),而不是源的长度