1、创建string文本:
sdsd haha hehe alala xixi hehe sdsfddf haha ninin
练习程序:
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <fstream>
#include <sstream>
#include <list>
#include <cstdlib>
using namespace std;
bool isshorter(const string& s1, const string& s2);
int main(int argc, char *argv[])
{
list<string> ilist;
list<string>::iterator ite;
vector<string> vec;
vector<string>::iterator vte;
ifstream infile("./string", ifstream::in);
if(!infile)
{
perror("read file error");
}
string s,sword;
while(getline(infile, s))
{
istringstream istring(s);
while(istring >> sword)
{
ilist.push_back(sword);
}
}
vec.assign(ilist.begin(), ilist.end());
for(ite = ilist.begin(); ite != ilist.end(); ++ite)
{
cout << *ite << endl;
}
cout << "----------------" << endl;
ilist.sort();
for(ite = ilist.begin(); ite != ilist.end(); ++ite)
{
cout << *ite << endl;
}
ilist.unique();
cout << "----------------" << endl;
for(ite = ilist.begin(); ite != ilist.end(); ++ite)
{
cout << *ite << endl;
}
cout << ilist.size() << endl;
cout << "++++++++++++++++++++++++++++++" <<endl;
sort(vec.begin(), vec.end());
for(vte = vec.begin(); vte != vec.end(); ++vte)
{
cout << *vte << endl;
}
cout << "----------------" << endl;
stable_sort(vec.begin(), vec.end(), isshorter);
for(vte = vec.begin(); vte != vec.end(); ++vte)
{
cout << *vte << endl;
}
cout << "----------------" << endl;
vte = unique(vec.begin(), vec.end());
vec.erase(vte, vec.end());
for(vte = vec.begin(); vte != vec.end(); ++vte)
{
cout << *vte << endl;
}
cout << "----------------" << endl;
return 0;
}
bool isshorter(const string& s1, const string& s2)
{
return s1.size() > s2.size();
}