strncpy和strncpy_s都老出错
蒙飞鸿 2010-01-15 04:58:39 我给线程函数传一个字符数组指针pA,数组大小为256,内容初始化为0,具体由CString类型的一个变量获取后,由题目里的那两个函数之一来传给字符数组A。
然后通过线程函数参数传给线程,由线程通过题目两函数之一拷贝到线程内字符数组B,数组大小为256,内容初始化为0,然后用pB做参数进行SOCKET TCP的send操作。
老是容易出错。如果用的是strncpy_s,则出错时调试器指向tcsncpy_s.inl里的
p = _DEST;
available = _SIZE;
if (_COUNT == _TRUNCATE)
{
while ((*p++ = *_SRC++) != 0 && --available > 0)
{
}
}
else
{
_ASSERT_EXPR((!_CrtGetCheckCount() || _COUNT < _SIZE), L"Buffer is too small");
while ((*p++ = *_SRC++) != 0 && --available > 0 && --_COUNT > 0)
{
}
if (_COUNT == 0)
{
*p = 0;
}
的while ((*p++ = *_SRC++) != 0 && --available > 0 && --_COUNT > 0)这句这。
就算我把题目两函数第3个参数设置为255也一样出错。