提到数组,和字符串就脱不了干系,提到字符串,就离不开字符串处理函数。
一、stract函数
字符串处理函数就是将两个字符串进行连接。
用法:stract(A,B);
就是将B连接在A的后面。
#include<iostream>
#include<string>
using namespace std;
void main()
{
char str1[30], str2[20];
cout << "输入一个字符串1" << endl;
gets_s(str1);
cout << "输入一个字符串2" << endl;
gets_s(str2);
strcat_s(str1, str2);
cout << "现在得到的字符串是:" << endl;
puts(str1);
}
该段代码的作用也很简单,就是将输入的字符串2接到字符串1后面进行输出。我在这里使用的编译器为vs2019,因此,gets是不行的,需要改成gets_s才可以,同样的puts也是如此。至于strcat_s则是因为vs2017之后的版本认为strcat是这个不够安全的,这个记住就好了。
二、strcpy函数
这个函数为字符串复制函数,copy,复制。
用法:strcopy(A,B);
该函数是将字符串B复制到A中,字符串结束标志也会复制进去。A必须是长度大于B的长度,A必须是数组名,B可以是数组名,也可以是一个字符串常量。
#include<iostream>
#include<string>
using namespace std;
void main()
{
char str1[30], str2[20];
cout << "输入一个字符串1" << endl;
gets_s(str1);
cout << "输入一个字符串2" << endl;
gets_s(str2);
strcpy_s(str1, str2);
cout << "现在得到的字符串是:" << endl;
puts(str1);
}
输出结果相当于B的字符串内容覆盖了A的内容。
三、strcmp函数
字符串比较函数,compare,比较
用法:strcmp(A,B);
这个函数的比较是根据ASCII码顺序比较两个数组中的字符串的,根据函数的返回值返回比较结果。
返回值为0:字符串A=字符串B;
返回值为正数:字符串A>字符串B;
返回值为负数:字符串A<字符串B。
#include<iostream>
#include<string>
using namespace std;
void main()
{
char str1[30], str2[20];
int i = 0;
cout << "输入一个字符串1" << endl;
gets_s(str1);
cout << "输入一个字符串2" << endl;
gets_s(str2);
i = strcmp(str1, str2);
cout << "返回值是:" << endl;
cout << i << endl;
}
四、strlen函数
测字符串长度函数
用法:strlen(A);
#include<iostream>
#include<string>
using namespace std;
void main()
{
char str1[30], str2[20];
int length1, length2;
cout << "输入一个字符串1" << endl;
gets_s(str1);
cout << "输入一个字符串2" << endl;
gets_s(str2);
length1 = strlen(str1);
length2 = strlen(str2);
cout << "字符串1的长度是:" << length1 << endl;
cout << "字符串2的长度是:" << length2 << endl;
}
主要的函数到此结束,下一波对指针进行介绍。