最近总是遇到string类型的操作,今天把我掌握的方法都先记录下来。直接进主题吧!

常常用到Vector<string>  ,list <string>,如何遍历里面的类型呢,看过STL的朋友,都会用迭代器。如下:

//同一都支持迭代器操作,这里只讲一个关于string操作

vector<string> strVec;
strVec.push_back("this is a test!");
strVec.push_back("The first data");
strVec.push_back("wo cheng gong la !");
vector<string> :: const_iterator vectIt = strVec.begin();
for (;vectIt != strVec.end(); ++vectIt)
{
    printf("string: %s\n",(*vectIt).c_str());
}
//还有一个翻转打印的方法
vector<string> :: reverse_iterator RvectIt = strVec.rbegin();
for (;RvectIt != strVec.rend(); ++ RvectIt)
{
    printf("string : %s\n",(*RvectIt).c_str());
}


当然如果是顺序取出查看,可以直接用front()操作,然后pop_back(),就可以一个一个取出来应用,主要针对的是队列和链表,当然vector也有相应的操作。

也可用另一种方法,和普通遍历一样,就是需要强制改一下类型:

for (int i = 0; i < strVec.size(); ++i)
{
    printf("other string : %s \n",(char*)strVec[i].c_str());
}

这样的话取出任何一个字符串都容易操作。今天就写这么多,Ok。

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐