参考资料:《21天学通C++》
字符串库
读写字符串
在C++中,可以用iostream库来读写内置类型的值,如int、double等。同样,也可以用iostream和string标准库使用标准输入输出来读写string对象。
**例1 **简单string的读写
#include <iostream>
#include <string> //包含字符串库
using namespace std;
void main(){
string str; //定义字符串对象
cout << "Please input string:" << endl;
cin >> str;
cout << "The string is:\n" << str << endl;
}
输入输出:
Please input string:
Hello World
The string is:
Hello
注意:string类型的输入操作符会忽略字符串开头所有的空格,输入时遇到空格就会停止输入,所以str的值为Hello,也就只输出了Hello。
字符串赋值
可以把一个string类型的对象赋值给另一个string对象,实现简单的字符串赋值操作。
**例2 **string对象赋值操作
#include <iostream>
#include <string>
using namespace std;
void main(){
string str1, str2;
cout << "Please input str1:" << endl;
cin >> str1;
str2 = str1; //字符串赋值
cout << "str1 is:" << str1 << endl;
cout << "str2 is:" << str2 << endl;
}
输入输出:
Please input str1:
HelloWorld
str1 is:HelloWorld
str2 is:HelloWorld
注意:str1不能为中间包含空格的字符串。
字符串比较
字符串比较操作符主要有以下几种:
- ==:比较两个string对象,如果它们长度相同且含有相同的字符,则返回true,否则返回false。
- !=:测试两个string对象是否不等。
- <:测试一个string对象是否小于另一个string对象。
- <=:测试一个string对象是否小于等于另一个string对象。
- >:测试一个string对象是否大于另一个string对象。
- >=:测试一个string对象是否大于等于另一个string对象。
注意:任何一个大写字母都小于对应的小写字母。
字符串长度和空字符串
简单地说,string对象的长度指的是string对象中字符的个数。
可以使用size()函数求字符串长度。
例3 求string对象的长度
#include <iostream>
#include <string>
using namespace std;
void main(){
string str = ("Welcome to 21 C++");
int num;
num = str.size();
cout << "the length of " << str << " is:" << num << endl;
}
输出:
the length of Welcome to 21 C++ is:17
可以使用函数empty()来判断一个string对象是否为空,该函数返回一个bool型值,若为真表示string对象为空,否则为非空。
例4 判断string对象是否为空
#include <iostream>
#include <string>
using namespace std;
void main(){
string str = ("Welcome to 21 C++");
if(str.empty())
cout << "The str is empty." << endl;
else
cout << "The str is not empty." << endl;
}
输出:
The str is not empty.