strcpy_sというMicrosoftが推奨する安全なstrcpyというのがあるのですが、これが、 errno_t strcpy_s(char *strDestination, size_t sizeInBytes, const char *strSource); というプロトタイプになっており、まぁ、sizeInBytesのおかげで安全に暮らせるのですが、実は Security Enhancements in the CRT に書いてある面白い機能があって、C++ならば、 #define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1というマクロを定義すると、 char szBuf[10]; strcpy(szBuf, "test");というコードが、自動的に、 char szBuf[10]; strcpy(szBuf, sizeof(szBuf),