#include <iostream>
using namespace std;
int main()
{
char a[] = { 1,2,3,4,5,6,7,8,9,'\0'};
char b[] = { 9,8,7,6,5,4,3,2,1,'\0'};
cout << "把数组清零" << endl;
memset(a, 0, sizeof(a));//把数组清零
for (int i= 0; i < sizeof(a)/sizeof(a[0]); i++)
{
cout << (int)a[i]<<" " << endl;
}
cout << "字符串数组的复制" << endl;
//字符串数组的复制
strcpy_s(a, sizeof(a) / sizeof(a[0]), b);
for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++)
{
cout << (int)a[i] << " " << endl;
}
cout << "把字符串前n个数复制到目标数组" << endl;
//把字符串前n个数复制到目标数组
strncpy_s(a, sizeof(a) / sizeof(a[0]), b,7);
for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++)
{
cout << (int)a[i] << " " << endl;
}
cout << "获得字符串的有效长度,返回不含0的长度。" << endl;
//获得字符串的有效长度,返回不含0的长度。
char c[20] = "a我";
cout<< strlen(c)<<endl;
//结果为3
cout << "字符串的拼接" << endl;
//字符串的拼接
char d[20] = {0};
strcat_s(d,sizeof(d)/sizeof(d[0]), a);
strncat_s(d, sizeof(d) / sizeof(d[0]), b,5);//复制前n个
for (int i = 0; i < sizeof(d) / sizeof(d[0]); i++)
{
cout << (int)d[i] << " " << endl;
}
//字符串的比较
cout << "字符串的比较" << endl;
cout << strcmp(a, b) << endl;//a<b返回-1
cout << strncmp(a, b, 7) << endl;//a=b返回0
cout << strncmp(d, b, 10) << endl;//d>b返回1
}
结果为:
把数组清零
0
0
0
0
0
0
0
0
0
0
字符串数组的复制
9
8
7
6
5
4
3
2
1
0
把字符串前n个数复制到目标数组
9
8
7
6
5
4
3
0
-2
-2
获得字符串的有效长度,返回不含0的长度。
3
字符串的拼接
9
8
7
6
5
4
3
9
8
7
6
5
0
-2
-2
-2
-2
-2
-2
-2
字符串的比较
-1
0
1
发表回复