C++字符串,字符数组入门
2026-06-06 21:07:46
发布于:广东
字符串
字符串的定义:
string 你的字符串名;
所谓字符串,就是一大堆字符连续存放,某种意义上与字符数组相同,但不同点是字符串的比较可以直接使用比较符,例如下面这些:
> < == !=
要注意其中的>和<,是按照字典序来比较的,所以执行下面的代码会返回一个布尔值,0表示s比s1小,1表示s比s1大
string s="12345689";
string s1="2";
cout<<(s>s1);
但其实还可以加上一个if判断,让代码输出不同的值,具体代码如下:
string s="123456789";
string s1="200000000";
if(s>s1){
cout<<"s比s1大";
}else{
cout<<"s比s1小";
}
还有关于字符串的函数,具体主要函数如下:
reverse
reverse主要为字符串翻转,但在这里要注意的就是reverse()会在原字符串上改,所以是没有返回值的。
关于返回值,请参阅这里
而reverse的函数的用法:
string s="1234";
reverse(s.begin(),s.end());
cout<<s;
//此时会输出4321
find
find()函数则是一个找一个字符串或单字符的下标,找不到目标则输出-1,否则返回下标。而具体用法如下:
string s="12345";
int pos=s.find("1");
cout<<pos;
这里会返回0
字符数组
所谓字符数组,主要是为一些连续存放的字符,而具体定义如下:
char 你的数组名[要开多大]定义或不初始赋值;
而操作也只是一个简单for循环搞定,代码如下:
char a[10010];
for(int i=1;i<=10009;i++){
cin>>a[i];
}
接下来是一些字符数组的函数:
strcmp
strcmp()函数是比较两个字符数组谁更大,也是按照字典序比较:
char a[5]={'1','2'},b[5]={'2'};
strcmp(a,b);
//此时会返回b更大
strlen
strlen函数主要是求一个字符数组的长度,注意strlen返回的是下标数,C++下标从0开始,所以返回的比数组长度少1
具体用法:
char a[5]={'0','1','2','3','4','5'}
int len=strlen(a);
cout<<len;
//会返回5
剩下两个函数作者懒得更新了,下次再更新
这里空空如也



















有帮助,赞一个