strcpy_s、strcat_s的用法

一、strcpy_s的用法

1、strcpy_s的定义
errno_t strcpy_s(char *strDestination, size_t numberOfElements, const char *strSource);

2、strcpy_s参数的含义
strDestination    Null目标字符串缓冲区的位置
numberOfElements  目标字符串缓冲区的大小
strSource         Null终止的源字符串缓冲区。

3、strcpy_s的用法
void main()
{
	char  dest[30], source[10];
	for (int i = 0; i < 9; i++)
		source[i] = 'a';
	source[9] = 0; //把最后置为0,标识字符串的结束。 

	strcpy_s(dest, 30, source);  //请务必注意此处的第二个参数为目标缓冲区的大小,
	                            //不可以写上源字符串的长度。
	cout << dest << endl;
}
//注意:strcpy_s执行完成后,目标缓冲区的多余空间(字符串结束以后的空间),编译器会进行填充,
//在我的环境下,我发现填充的是-2

二、strcat_s的用法

1、strcat_s的定义
errno_t strcat_s(char *strDestination, size_t numberOfElements, const char *strSource);

2、strcat_s参数的含义
strDestination     Null 终止的目标字符串缓冲区
numberOfElements   目标字符串缓冲区的大小
strSource          Null终止的源字符串缓冲区。

3、strcat_s的用法
void main()
{
	char  dest[30], source[10], source2[15];
	for (int i = 0; i < 9; i++)
		source[i] = 'a';
	source[9] = 0; //把最后置为0,标识字符串的结束。 

	strcpy_s(dest, 30, source);
	cout << dest << endl;

	for (int i = 0; i < 15; i++)
		source2[i] = 'b';
	source2[14] = 0; //把最后置为0,标识字符串的结束。

	strcat_s(dest, 30, source2);
    Cout<

你可能感兴趣的:(c语言基础)