string的使用

push_back: append character to string

erase: erase characters from string

     string str ("This is an example phrase.");

    string::iterator it;

    str.erase (10,8);

    cout << str << endl; // "This is an phrase."

substr:

     string str="We think in generalities,but we live in details.";

     string str2=str.substr(12,12);

replace:

      str.replace(9,5,str2);

      str.replace(8,6,"a short");

istream& getline(istream& is,string& str)//getline的原型

void swap(string& lhs,string& rhs)

//algorithm中replace的用法

template < class ForwardIterator, class T >
  void replace ( ForwardIterator first, ForwardIterator last,
                 const T& old_value, const T& new_value );
replace(path.begin(),path.end(),separ,native);

c_str()是把string转到char*然后就可以调用库函数了
string add_to="hello!";
const char* cfirst=add_to.c_str();
char* copy=new char[strlen(cfirst)+1];
strcpy(copy,cfirst);

transform的用法
template < class InputIterator, class OutputIterator, class UnaryOperator >
  OutputIterator transform ( InputIterator first1, InputIterator last1,
                             OutputIterator result, UnaryOperator op );

template < class InputIterator1, class InputIterator2,
           class OutputIterator, class BinaryOperator >
  OutputIterator transform ( InputIterator1 first1, InputIterator1 last1,
                             InputIterator2 first2, OutputIterator result,
                             BinaryOperator binary_op );

tramsform(first.begin(),first.end(),second.begin(),op_increase);
其中op_increse是函数指针,

algorithm中remove的使用:
remove(path.begin(),path.end(),'\"') 返回的是遍历的
//remove掉之后用erase把长度相应的减小
path.erase(std::remove(path.begin(),path.end(),'\"'),path.end());


std::string getXMLHeader(int xml_version)
{
  std::ostringstream ostr;
   ostr<<"...";
   ...
return ostr.str();
}

函数:int strcmp (const char *s1, const char *s2)
       这个函数用来比较s1和s2字符串,这个函数将返回一个值,它的符号与第一对不同的字符的比较结果相关。
      如果两个字符串相等的话,strcmp将返回0。
       如果s1是s2的一个子串的话,s1小于s2
此外还有函数
    int strncmp (const char *s1, const char *s2, size_t size)
    此函数与strcmp极为类似。不同之处是,strncmp函数是指定比较size个字符。也就是说,如果字符串s1与s2的前size个字符相同,函数返回值为0。
原文地址:https://www.cnblogs.com/zhanglanyun/p/2319738.html