您的位置:首页 > 编程语言 > C语言/C++

C++ string 字符串的拼接、拆分 常用于传输字符串命令包(先拼接好后 传送 接收到对其解包)

2018-01-26 22:36 896 查看
char* 转 string 直接这样转:string d;char* data = “qq”; d = data;

string 转 char* 用一个转换函数: c_str()

string a = “123”; char str[20]; strcpy_s(str,a.c_str()); cout<

include

include

include “stdlib.h”

using namespace std;

int main()

{

char *data, *name;

string d, n, p;

data = “qq”; d = data; cout << d << endl;

name = “@”; n = name; cout << n << endl;

p = d + n; cout << p << endl;

/*
string s1, s2, s3, s4;
s1 = "冯琪玛";
s2 = "@";
s3 = "1";
s4 = s1 + s2 + s3;
cout << s1 << endl;
cout << s2 << endl;
cout << s3 << endl;
cout << s4 << endl;
*/
system("pause");
return 0;


}

string的连接:

string &operator+=(const string &s);//把字符串s连接到当前字符串的结尾

string &append(const char *s); //把c类型字符串s连接到当前字符串结尾

string &append(const char *s,int n);//把c类型字符串s的前n个字符连接到当前字符串结尾

string &append(const string &s); //同operator+=()

string &append(const string &s,int pos,int n);//把字符串s中从pos开始的n个字符连接到当前字符串的结尾

string &append(int n,char c); //在当前字符串结尾添加n个字符c

string &append(const_iterator first,const_iterator last);//把迭代器first和last之间的部分连接到当前字符串的结尾

想要使用string的相关函数,一定要将char*类先转换成string类

string类的查找函数:

int find(char c, int pos = 0) const;//从pos开始查找字符c在当前字符串的位置

int find(const char *s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置

int find(const char *s, int pos, int n) const;//从pos开始查找字符串s中前n个字符在当前串中的位置

int find(const string &s, int pos = 0) const;//从pos开始查找字符串s在当前串中的位置

//查找成功时返回所在位置,失败返回string::npos的值

string的子串:

string substr(int pos = 0,int n = npos) const;//返回pos开始的n个字符组成的字符串



上面俩常常联合使用 用于对字符串命令包解包的

string类的插入函数:

string &insert(int p0, const char *s);

string &insert(int p0, const char *s, int n);

string &insert(int p0,const string &s);

string &insert(int p0,const string &s, int pos, int n);

//前4个函数在p0位置插入字符串s中pos开始的前n个字符

string类的删除函数

iterator erase(iterator first, iterator last);//删除[first,last)之间的所有字符,返回删除后迭代器的位置

iterator erase(iterator it);//删除it指向的字符,返回删除后迭代器的位置

string &erase(int pos = 0, int n = npos);//删除pos开始的n个字符,返回修改后的字符串
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: