#include "iostream"
#include "vector"
#include "string"
#include "sstream"
using namespace std;
int main()
{
string s = "aabcdef.txt";
cout << endl << "--------------------------find, rfind--------------------------------" << endl;
//find 从字符串s的下标0开始查找字符'g'的位置,找到返回下标,没找到返回std::string::npos
if(int index = s.find('g', 0) == std::string::npos)
cout << std::string::npos << endl;
//find 从字符串s的下标0开始查找字符串"abc"的位置,找到返回下标,没找到返回std::string::npos
cout << s.find("abc", 0) << endl;
//rfind 从字符串s的下标5开始查找字符'g'的位置,找到返回下标,没找到返回std::string::npos
if(s.rfind('g', 5) == std::string::npos)
cout << std::string::npos << endl;
//rfind 从字符串s的下标5开始查找字符串"abc"的位置,找到返回下标,没找到返回std::string::npos
cout << s.rfind("abc", 5) << endl;
cout << endl << "-------------------------istringstream--------------------------------" << endl;
string s1 = "a b c";
std::istringstream strin(s1); //从s1中读取字符串
string tmp;
while(strin >> tmp) //以空格为分隔符,写到tmp中
cout << tmp << endl;
cout << endl << "-------------------------ostringstream--------------------------------" << endl;
std::ostringstream strout("");
strout << "1" << " " << 2 << " " << 3.3;
cout << strout.str() << endl;
cout << endl << "----------------------------getline--------------------------------" << endl;
string ss = "aa\nbb\ncc";
std::istringstream in(ss);
while(getline(in, tmp, '\n')) //从字符串输入流in中获取字符串,以'\n'为分隔符写到tmp中
cout << tmp << endl;
cout << endl << "----------------------------substr--------------------------------" << endl;
string s3 = "aabcccdd";
string sub = s3.substr(1, 3); //从下标1开始的3个字符
cout << sub << endl;
getchar();
return 0;
}
STL---string用法
最新推荐文章于 2024-05-26 20:42:47 发布