String与比较符


1. 初始化:

    string s1("ssss");//s1是字面值“ssss”的副本
    string s2(s1);//s2是s1的副本
    string s3=s2;//s3是s2的副本
    string s4(10,'c');//把s4初始化
    string s5="hiya";//拷贝初始化

2. 复制:

    char cs[]="12345";
    string s7(cs,3);//复制字符串cs的前3个字符到s当中

    //string s(s2,pos2)
    string s8="asac";
    string s9(s8,2);//从s2的第二个字符开始拷贝,不能超过s2的size

    string a="abcd";
    string b="123";
    a=a.substr(0,1)+"---"+b;
    cout<

3. 数字与string的转换

  // 数字转字符
  int j=323232;
  string a;
  char b[100];
  itoa(j,b,10);
  a=b;

  // 字符转数字
  int i,j=323232;
  string a="1212.2121";
  i=atoi(a.c_str());    // 将string的指针传入。

4. string的打印:

printf("%s",str.c_str());

for(string::iterator it=str.begin();it!=str.end();it++){
  printf("%c",*it);
}

5. string与字符串数组之间的转换:

char ch [] = "ABCDEFG";
string str;
str = ch;
// 或者这个也行 str+=ch;

char buf[10];
string str("ABCDEFG");
strcpy(buf, str.c_str());

6.字符串的切割:

string string = "004-034556";
string[] parts = string.split("-");
string part1 = parts[0]; // 004
string part2 = parts[1]; // 034556

字符串之间的比较:

// 直接 
string a="aaa";
string b="bbb";
// a==b即可
// 千万不要用a=='a'这种方法,ascii与字符不一样。

string a="cd";
string b="cc";
cout<<(a>b);
// 1

a="bba";
b="bb";
cout<<(a>b);
// 0

string a="abb",b="bb";
cout<<(a>b);
// 0
// 比较符号会逐个比较string中的ascii大小,如果有比较到立马退出return 1
// 如果b跟a的前面部分一样,但是a的长度比b大则返回1

你可能感兴趣的:(String与比较符)