2020-11-16 C++知识点累积(八)
std::string
头文件:#include
格式:std::string 变量名{字符串};
例如:
std::string str{
"abcdefg"};
**
从字符串最开始截取字符功能:
**
格式:std::string 变量名{字符串,截取长度}
#include <iostream>
#include <string>
int main()
{
std::string str{
"abcdefg",3 };//截取字符串前3个长度
std::cout << str;
}
结果:
**
从指定位置开始截取字符功能:
**
格式:std::string 变量名{字符串,起始位置,截取长度}
#include <iostream>
#include <string>
int main()
{
std::string str{
"abcdefg",2,3 };//从第3个开始截因为字符串下标是从0开始,截取3个长度
std::cout << str;
}
结果:
中文截取就会有问题,中文需要1个中文对应截取2个长度,因为中文占两个字符
**
复制同一字符:
**
格式:std::string 变量名(要复制的个数,‘字符’)
#include <iostream>
#include <string>
int main()
{
std::string str(4,'a');//复制4个a
std::cout << str;
}
结果:
注:复制中文会出现问题
**
数字转换字符串:
**
格式:std::to_string(数字),数字可以为整数,小数,负数
例子:
#include <iostream>
#include <string>
int main()
{
std::string str{
"中国No."};
str = str + std::to_string(1);//连接字符串用加号+
std::string strA = "abc""ABC";//两个字符串常量连接可以直接连接不用加号+
std::cout << str;
}
结果:
**
连接字符串:
**
格式:append(“字符串”)
例子:
#include <iostream>
#include <string>
int main()
{
std::string str{
"中国No."};
str.append("1");
//str.append("123",1);//append也可以截取想要的部分,格式append("字符串",截取长度)
//str.append(50,"a");//append也可以和string一样复制,格式append(复制个数,"字符串")
//str.append("abcdefg",2,3);//append也可以从指定位置开始截取,格式append(字符串,起始位置,截取长度)
std::cout << str;
}
结果:
append()可以连接字符串,其他扩展用法和string一样
**
截取字符串功能:
**
substr()
格式:substr(起始位置,截取长度)
截取长度可以不需要,默认从起始位置截取到字符串最后
例子:
#include <iostream>
#include <string>
int main()