头文件:#include <string>
string类输入:
//有两种方式
string stuff;
cin >> stuff; //读入一个词
getline(cin, stuff); //读入一行数据
两个版本的getline()都有一个可选参数,用于指定使用哪个字符来确定输入的边界
cin.getline(info,100,':'); //读到:时停止
getline(stuff, ':') //读到:时停止
string 版本的getline()函数从输入中读取字符,并将其存储到目标string中,直到发生下列三种情况:
1.到达文件尾,在这种情况下,输入流的eofbit将被设置,这意味着方法fail()和eof()都将返回true;
2.遇到分界字符(默认为\n),在这种情况下,将把分界字符从输入流中删除,但不存储它;
3.读取的字符达到最大允许值,在这种情况下,将设置输入流的failbit,这意味着方法fail()将返回true。
string字符串的成员函数length()和size()都返回字符串中的字符数。
重载的find()方法:
方法原型
|
描述
|
size_type find(const string & str, size_type pos = 0)const
|
从字符串的pos位置开始,查找子字符串str。如果找到,则返回该子字符串首次出现时其首字符的索引;否则返回string::npos
|
size_type find(const char* s, size_type pos = 0)const
|
从字符串的pos位置开始,查找子字符串s。如果找到,则返回该子字符串首次出现时其首字符的索引;否则返回string::npos
|
size_type find(const char* s, size_type pos = 0, size_type n)
|
从字符串的pos位置开始,查找s的前n个字符组成的子字符串。如果找到,则返回该子字符串首次出现时其首字符的索引;否则返回string::npos
|
size_type find(char ch, size_type pos = 0)const
|
从字符串的pos位置开始,查找字符ch。如果找到,则返回该子字符串首次出现时其首字符的索引;否则返回string::npos
|
string库还提供了相关的方法:rfind()、 find_first_of() 、find_last_of() 、find_first_not_of()和find_last_not_if()
string库还提供了下述函数:
删除字符串的部分或全部内容、用一个字符串的部分或全部内容替换另一个字符串的部分或全部内容、将数据插入到字符串中或删除字符串中的数据、将一个字符串的部分或全部内容与另一个字符串的部分或全部内容进行比较、从字符串中提取子字符串、将一个字符串中的内容复制到另一个字符串中、交换两个字符串的内容。