zoukankan      html  css  js  c++  java
  • 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。
  • 相关阅读:
    Java实现 LeetCode 657 机器人能否返回原点(暴力大法)
    PHP imagearc
    PHP imageantialias
    PHP imagealphablending
    PHP imageaffinematrixget
    PHP imageaffinematrixconcat
    空单元 | empty-cells (Miscellaneous Level 2)
    矩阵 | matrix() (Transforms)
    相邻兄弟选择器 | Adjacent sibling selectors (Selectors)
    相抵路径 | offset-path (Motion Path)
  • 原文地址:https://www.cnblogs.com/zhanglanyun/p/2319738.html
Copyright © 2011-2022 走看看