使用strcat_s进行字符串连接,代码如下:
char TestEle[256] = "Lon";
strcat_s(TestEle, ":");
使用VS2003进行编译时提示入戏错误:
error C3861: “strcat_s”: 即使使用参数相关的查找,也未找到标识符
解决办法:
将strcat_s换为strcat即可。
函数原型如下:
strcat_s是VS2005及以后新增的具有更强"安全性"的CRT函数。查看VS的MSDN原型如下:
errno_t strcat_s(
char *strDestination,
size_t sizeInBytes,
const char *strSource
);
errno_t wcscat_s(
wchar_t *strDestination,
size_t sizeInWords,
const wchar_t *strSource
);
errno_t _mbscat_s(
unsigned char *strDestination,
size_t sizeInBytes,
const unsigned char *strSource
);
template <size_t size>
errno_t strcat_s(
char (&strDestination)[size],
const char *strSource
); // C++ only
strcat的原型如下:
char *strcat(
char *strDestination,
const char *strSource
);
wchar_t *wcscat(
wchar_t *strDestination,
const wchar_t *strSource
);
unsigned char *_mbscat(
unsigned char *strDestination,
const unsigned char *strSource
);
template <size_t size>
char *strcat(
char (&strDestination)[size],
const char *strSource
); // C++ only
需要注意的是:注意:strDestination与 strSource 所指的内存空间不能重叠,且 strDestination要有足够的空间来容纳要复制的字符串。