赞
踩
使用成员函数检测string 字符串是否非空
利用函数empty()实现,如果空,返回布尔值true
否则,返回false。
格式如下
string 变量名.empty();
书写
string str;
if(str.empty()) cout<<"str为空"<<endl;
else cout<<"str不为空"<<endl;
//注意输出的都是查找的元素的位置,并且是下标,从0开始 string str = "asdfggfdas"; char ch='a'; cout<<"元素ch位于字符串str的第"<<str.find(ch)<<"位"<<endl; //元素ch位于字符串str的第1位 /* 拓展 1.上式可以写为 cout << str.find('a') << endl; 2. int find(char ch, int pos = 0) const 1式表示在str这个字符串里查找ch这个字符第一次出现的位置,原因是默认从第一个元素开始查 如果我们这么些 cout << str.find('a',5) << endl; 从第5个元素开始查,就会输出8. */ //下面的这些函数都可以用这样的功能,再次就不再赘述 cout<<str.find_first_of(ch)<<endl; //第一个为ch的位置 cout<<str.find_first_not_of(ch)<<endl; //向后找不是ch字符的第一个位置 cout<<str.find_last_of(ch)<<endl; //从后向前找是ch的位置 cout<<str.find_last_not_of(ch)<<endl; //从后向前找不是ch字符的位置 cout<<str.rfind(ch)<<endl; //从后向前找ch的收个位置
string str1 = "abcdefg"; string str2 = "abcefgd"; //1.直接利用!=、>=、<= 、== if(str1>str2) cout << "str1大于str2" << endl; //2.函数compare() int t = str1.compare(str2); cout << t << endl; //str1大于str2返回1 //str1等于str2返回0 //str1小于str2返回-1 // int result=strcmp(str1,str2); cout<<result<<endl; 返回值=0 string1=string2 返回值>0 string1>string2 返回值<0 string1<string2
string str = "asdfggfdas";
char s[10] = "asdfggfdas";
cout << str.strlen() << endl;
cout << str.size() << endl;
//getline(cin,str,'$')
//读取字符串,直到出现字符串$
string str;
getline(cin,str,'$');//到$截至
getline(cin,str);//没有截至功能
string str = "asdfggfdas";
cout<<strupr(str)<<endl;
string str1 = "abcdefg";
string str2 = "abcefgd";
strcat(str1,str2);//将第二个字符串连接到第一个字符串上
cout<<str1<<endl;
string str1 = "abcdefg";
string str2 ;
strcpy(str2,str1);//将后面的复制到前面的字符串
cout<<str2<<endl;
//使用格式:str = s.substr(pos, n)
string s = "abcdefg";
string str = s.substr(2,3);
cout << str << endl;
//输出结果为
//cde
**
//strrev函数(只能用于字符数组,对string类型是无效的)
//reverse函数(反转容器中的内容,对字符数组无效。)
//1.strrev函数
char str1[]="hello";
strrev(str1);
puts(str1);
//2.reverse函数
string str2= "hello";
reverse(s.begin(),s.end());
cout<<s<<endl;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。