【发布时间】:2012-04-28 20:05:11
【问题描述】:
在我的示例中,strcpy_s 和 malloc_s 抛出错误,而手动复制似乎有效。这是代码。这有效:
hookaddrinfoluacode=(char *)malloc(16384);
// This works
for(i=0;i<strlen(this_token);++i){
hookaddrinfoluacode[i]=this_token[i];
}
hookaddrinfoluacode[i+1]='\0';
这不是
memcpy_s(hookaddrinfoluacode,sizeof(char),this_token,strlen(this_token));
这也不是:
strcpy_s(hookaddrinfoluacode,strlen(this_token),this_token);
错误似乎是从标准库中的此代码行抛出的:
_VALIDATE_RETURN_ERRCODE(dst != NULL, EINVAL);
this_token 是从this_token=strtok_s(NULL,":",&next_token); 调用中获得的。
我很困惑:)
【问题讨论】:
-
标准库函数工作正常吗?
-
你有一个Obi-Wan。
-
从抛出错误的代码中,您的目标指针似乎以某种方式变为空,您会检查它吗?
标签: c visual-studio-2010 memcpy strcpy