什么是std::string...?怎么用?

如题..小弟初学c++,请教这个是what``?怎么用?

std::string是标准C++的字符串实现。为了让程序好移植,要用std::string。比如:

方法1:

#include <string>

std::string

方法2:

#include <string>

using namespace std;

string

string类的构造函数:

string(const char *s);    //用c字符串s初始化

string(int n,char c);     //用n个字符c初始化

此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常 ;

扩展资料

string类的字符操作:

const char &operator[](int n)const;

const char &at(int n)const;

char &operator[](int n);

char &at(int n);

operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。

const char *data()const;//返回一个非null终止的c字符数组

const char *c_str()const;//返回一个以null终止的c字符串

int copy(char *s, int n, int pos = 0) const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目

string的特性描述:

int capacity()const;    //返回当前容量(即string中不必增加内存即可存放的元素个数)

int max_size()const;    //返回string对象中可存放的最大字符串的长度

int size()const;        //返回当前字符串的大小

int length()const;       //返回当前字符串的长度

bool empty()const;        //当前字符串是否为空

void resize(int len,char c);//把字符串当前大小置为len,并用字符c填充不足的部分

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-08-13

std::string是标准C++的字符串实现,用法:

要想使用标准C++中string类,必须要包含

#include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件

using  std::string;

using  std::wstring;

using namespace std;

下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t。

扩展资料:

string类的字符操作:

const char &operator[](int n)const;

const char &at(int n)const;

char &operator[](int n);

char &at(int n);

operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。

const char *data()const;//返回一个非null终止的c字符数组。

const char *c_str()const;//返回一个以null终止的c字符串。

int copy(char *s, int n, int pos = 0) const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目。

参考资料来源:string-百度百科

本回答被网友采纳
第2个回答  推荐于2019-10-17

std::string是标准C++的字符串实现。为了让程序好移植,要用std::string。比如:

方法1:

#include <string>
std::string

方法2:

#include <string>
using namespace std;
string

扩展资料:

显式引入std名空间,std是c++的标准,这个名空间里面定义了很多类,如常用的string等。 
如果我们使用名空间std中的类,为了防止和其他的类库名称冲突,就需要在程序中加入语句:using namespace std; 

如果我们只是使用其中的一个或者几个类的话,也可以不显示引入该名空间,而是这样:std::string 也可以。

本回答被网友采纳
第3个回答  推荐于2019-08-04

std::string是标准C++的字符串实现

用法如下:

使用标准C++中的String类文件,必须引入头文件:#include <string>

using  std::string;

using  std::wstring;

using namespace std;

接下来就可以使用string或wstring了,它们两分别对应着char和wchar_t。

注意头文件是String,而不是String.h。

扩展资料

C++中String类详解见链接String类详解

声明一个C++字符串

声明一个字符串变量很简单: string Str;

这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str初始化为一个空字符串。String类的构造函数和析构函数如下:

a)    string s;  //生成一个空字符串s

b)    string s(str) //拷贝构造函数 生成str的复制品

c)    string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值

d)    string s(str,stridx,strlen) //将字符串str内“始于stridx且长度顶多strlen”的部分作为字符串的初值

e)    string s(cstr) //将C字符串作为s的初值

f)    string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值

g)    string s(num,c) //生成一个字符串,包含num个c字符

h)    string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值

i)    s.~string() //销毁所有字符,释放内存

本回答被网友采纳
第4个回答  推荐于2018-02-27
这是C++的写法:std::string
std是命名空间,std::string可以定义一个类型为srting的变量
如果你使用了using namespace std; std::string可以写成string,比如:
string str;本回答被提问者和网友采纳
相似回答