C++学习笔记——string及其方法

参考链接:http://c.biancheng.net/cpp/biancheng/view/3284.html

初始化: string初始化时不像char型那样自动在后面加\0
插入: string.insert(起始位置,string或char)
删除: string.erase(起始位置,删除字符串的长度)
提取子字符串: string.substr(起始位置,提取子字符串的长度)
查找字符串: string.find(string或char,查找到起始位置(默认为0)),返回值是查找到的下标

string类的提取子字符串substr

函数原型:
string substr (size_t pos = 0, size_t len = npos) const;

pos为提取字符串的起始位置下标,npos为提取字符串的长度
用法:
std::string s1 = “first second third”;
std::string s2;
s2 = s1.substr(6, 6)

stoi与atoi

函数原型:
int atoi(const char *str)

int stoi (const string& str, size_t* idx = 0, int base = 10);
int stoi (const wstring& str, size_t* idx = 0, int base = 10);
可见atoi的参数是const char而stoi的参数是const string,所以如果要将string转化成整数时,atoi函数需要先用c_str将string转化成char型,而stoi则不需要。

c_str

将 string 字符串转换为C风格的字符串,并返回该字符串的 const 指针(const char*)

strdup与strcpy

strdup内部会用malloc分配内存,所以不用实现分配内存
用法:
char *a = strdup(“string”);

strcmp将字符串复制到指定的内存空间,因此需要事先分配好内存,否则会发生段错误

用法:
char a = (char)malloc(sizeof(char*));
strcmp(a,“string”);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值