C++操作集锦

  |  

摘要: 本文记录常见的 C++ 中的操作,持续更新

【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】
我的网站:潮汐朝夕的生活实验室
我的公众号:算法题刷刷
我的知乎:潮汐朝夕
我的github:FennelDumplings
我的leetcode:FennelDumplings


string 转 char*

1
2
3
4
string str = "hello";

const char *p = str.data();
char *p = (char*)str.data();
1
2
3
4
string str = "hello";

const char *p = str.c_str();
char *p = (char*)str.c_str();
1
2
3
4
5
6
string str = "hello";
int n = str.size();

char p[50];
str.copy(p, n, 0); // 这里 5 代表几个字符,0 代表复制的位置
*(p + n) = '\0'; // 注意手动加结束符,必要

char*转string

1
2
3
4
char *p = "hello";

string str;
str = p;

sprintf 拼接字符串

1
2
3
4
5
6
7
8
9
10
string str1 = "abc";
string str2 = "abc";
int n1 = str1.size();
int n2 = str2.size();

char cstr[100];
sprintf(cstr, "%.2s%.3s", str1.data(), str2.c_str()); // 字符足够,指定要几位
sprintf(cstr, "%02s%03s", str1.data(), str2.c_str()); // 字符不够时,补 0

string str = cstr;

Share