zoukankan      html  css  js  c++  java
  • 字符数组 & 字符串

    字符数组

    1.  char c1[] = "ch111";        \字符串字面值初始化。!!!字符串字面值末尾处有个空字符,也会被copy到字符数组中去,记得预留空间。
    2. char c1[ ] ={'c', 'b', 'n', 'm'};    \列表初始化 

    初始化string对象的方式:

    1. string s1;                \空串
    2. string s2(s1);          \s2是s1的副本
    3. string s2=s1;                \同上
    4. string s1("value");         \ 字面值初始化??
    5. string s1="value";           \拷贝初始化
    6. string s1(3, 'c');              \3个c组成的串

    string 的一些常用操作:

    1. toCharArray()函数: 将字符串对象中的字符转换为一个字符数组;例如 

      String s1="abcd";  char[] ch=s1.toCharArray();

    2. string::nops  用来表示不存在的位置,可以用在遍历string时,到结尾结束的截止条件。  

    string str;
    pos=str.find_first_of("h");
    if(pos!=string::npos)
    {..
    ....
    }

      //npos是一个常数,用来表示不存在的位置,类型一般是std::container_type::size_type 

    3. substr(start, length)函数: 

      string s("12345asdf");
      string a=s.substr(0,5);  //从0开始的5个字符

      默认时的长度为从开始位置到尾,只有一个参数时,可以理解为从p开始的到结尾的子字符串。

    4 . cctype头文件中的函数:返回bool值

      isalpha(c);  //c为字母;

      isdigit(c)  //c is 数字

      isalnum(c)  //c 为字母或数字

    5. c_str()函数 将string转为const char *类型。一般和strcpy配合使用。eg:

      string s("hello");

      //char *a;

      char b[20];
      strcpy_s(b, s.c_str());

      cout<<b<<endl;

    6. getline()函数常用:

      

    (1)
    istream& getline (istream&  is, string& str, char delim);
    istream& getline (istream&& is, string& str, char delim);
    (2)    
    istream& getline (istream&  is, string& str);
    istream& getline (istream&& is, string& str);

     可以用来写c++中没有的split函数,如下:

    void split(const string &s, vector<string> &ret, const char &c)
    {
        stringstream ss(s);
        string t;
        while (getline(ss, t, c))
            ret.push_back(t);
    }

    c是分隔符,把分隔符左右的给string给存到ret中去。 

  • 相关阅读:
    杭电 oj2602~(0-1背包问题)
    杭电oj~1005 简单的找周期
    poj 2524~并查集基础
    poj 1611~并查集基础
    poj1182~食物链~带权并查集
    杭电 oj3047~带权并查集
    杭电 oj1232~并查集
    杭电 oj2033~
    VS2013使用过程中出现的一些问题:
    python学习笔记:
  • 原文地址:https://www.cnblogs.com/wang-130213/p/8043838.html
Copyright © 2011-2022 走看看