strcpy_s 函数的用法

strcpy_s和strcpy()函数的功能几乎是一样的。

strcpy函数,就象gets函数一样,它没有方法来保证有效的缓冲区尺寸,所以它只能假定缓冲足够大来容纳要拷贝的字符串。在程序运行时,这将导致不可预料的行为。用strcpy_s就可以避免这些不可预料的行为。

strcpy_s 一般使用三个参数

errno_t strcpy_s(
char *strDestination,
size_t numberOfElements,
const char *strSource
);

CString str0 = "这是一个测试";
int num = str0.GetLength();
char* result = new char[num + 1];
strcpy_s(result, num + 1, str0);
View Code

注意数组长度要加1,否则会进行报错。

posted @ 2017-03-30 10:35  点点_滴滴  阅读(42694)  评论(0编辑  收藏  举报