【发布时间】:2010-10-31 08:51:55
【问题描述】:
线索在标题中,但基本上我继承了一些包含 800 多个 strcpy 实例的代码。我想写一个新函数,然后用 strcpy_mine 替换 strcpy。
所以我正在尝试计算 strcpy_mine 的参数列表。
我试过了:
void strcpy_mine( char* pTarget, const char* const pCopyMe )
{
const unsigned int lenAlwaysFour = sizeof(pCopyMe ); //:(
strncpy( pTarget, pCopyMe, lenAlwaysFour );
//add extra terminator in case of overrun
pTarget[lenAlwaysFour] = 0;
}
但是sizeof总是4 pCopyMe是一个指针
我不想做的是替换
strcpy (buf, pCopyMe);
与
strncpy (buf, pCopyMe, sizeof(pCopyMe)); buf[sizeof(pCopyMe)] = 0;
有什么想法吗? (strcpy_l 不可用)
【问题讨论】: