手がかりはタイトルにありますが、基本的には strcpy の 800 以上のインスタンスを持つコードを継承しています。新しい関数を作成してから、strcpy を strcpy_mine に置き換えたいと考えています。
そのため、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 は利用できません)