初始化一个字符串,string是有自身的构造函数的
string str = ""; //最朴实无华的用法
string str = string(); //创建一个空的字符串
string str1 = string(string str); //拷贝构造一个字符串
//当然你也可以尝试string str1 = string("rubbish c++")
string str2 = string(char* ch); //或者是传入一个字符数组
string str3 = string(int n, char c) 用n个字符c(我不知道这个c是不是都得相同)来构造一个字符串str3
用于测试的代码
#include <iostream>
#include<string.h>
using namespace std;
int main() {
string str = string(); //string的一个默认构造函数,默认构造一个空的字符串
str = "hello, world";
char a[] = "i like c++";
string str1 = string("rubbish c++");
string str2 = string(a);
string str3 = string(5,'l');
cout<<"cstr1:"<<str1.c_str()<<endl; //string的一个拷贝构造函数,默认构造一个空的字符串
cout<<"cstr2:"<<str2.c_str()<<endl;
cout<<"cstr3:"<<str3.c_str()<<endl;
return 0;
}
string 的一些重载运算符
string str[] //string类型是可以通过下标来提取字符的,其实[]也是一个重载符号。
#include<iostream>
#include<string.h>
using namespace std;
int main(void){
string str = "c++ ? rubbish";
string str2 = "c++" ;
char c = 'w';
char* ch = "c++ ? good";
//------------重载符号"="---------------
cout<<"str:"<<str.c_str()<<endl;
//将一个字符数组赋值给字符串
str = ch;
cout<<"str:"<<str.c_str()<<endl;
//将一个字符串赋值给字符串
str = str2;
cout<<"str:"<<str.c_str()<<endl;
//将一个字符赋值给字符串
str = c ;
cout<<"str:"<<str.c_str()<<endl;
//------------重载符号"+="--------------
//将一个字符数组加到字符串后面
str = "c++ ? rubbish"; //重新赋值一下
str += ch;
cout<<"str:"<<str.c_str()<<endl;
//将一个字符串加到字符串后面
str = "c++ ? rubbish";//重新赋值一下
str += str2;
cout<<"str:"<<str.c_str()<<endl;
//将一个字符串加到字符串后面
str = "c++ ? rubbish"; //重新赋值一下
str += c ;
cout<<"str:"<<str.c_str()<<endl;
return 0;
}
append() 函数
string& append (const string& str);
string& append (const char* s);
string& append (const string& str, size_t subpos, size_t sublen);
string& append (const char* s, size_t n);
string& append (const char* s, size_t n);
string& append (const char* s, size_t n);