#include

时间:2021-09-02 03:09:10

1 append(string T&);字符串拼接

2 c_str

string.c_str是Borland封装的String类中的一个函数,它返回当前字符串的首字符地址。

3 empty();判断是否为空

4 erase

删除

5 find

在字符串中查找Find content in string

6 find_first_not_of

Find absence of character in string

7 find_first_of

Find character in string

8 find_last_not_of

Find non-matching character in string from the end

9 find_last_of

Find character in string from the end

10 rfind

Find last occurrence of content in string

11 insert

插入

12 replace

替换

打印字符串,并执行

system(string1[i].c_str());

//std::array<std::string, 数组元素个数>

 #include <iostream>
#include <array>
#include <string>
using namespace std; void main()
{
std::array<std::string, > string1 = { "calc","notpad","tasklist","mspaint","write" };//std::array<std::string, 数组元素个数> for (int i = ; i < ; i++)
{
std::cout << string1[i] << std::endl;//打印
system(string1[i].c_str());//执行
} system("pause");
};

字符串相加,类似C的strcat函数

 #include <iostream>
#include <array>
#include <string>
using namespace std; void main()
{
std::string str1 = "task";
std::string str2 = "list";
std::string str3 = str1 + str2; system(str3.c_str()); system("pause");
}

C: char str[]

C++: string

注意区分两者不同,string是类

error C3863: 不可指定数组类型“char [100]”

 #include <iostream>

 void main()
{
char str[];
str = "hello";//error C3863: 不可指定数组类型“char [100]” std::string str1;
str1 = "world";
}

append可以实现字符串拼接

 #include <iostream>
#include <string> void main()
{
std::string str1("hello");
std::string str2("world");; str1.append(str2);//字符串拼接 std::cout << str1 << std::endl;
}

str1.insert(str1.begin(), 'X');//头部插入

str1.insert(str1.end(), 'X');//尾部插入

str1.insert(str1.begin(), 3, 'X');//头部插入3个X

str1.insert(str1.begin() + 3, 3, 'X');//头部插入3个X,在开头第3个位置插入

 #include <iostream>
#include <string> void main()
{
std::string str1("hello");
std::string str2("world");; str1.insert(str1.begin(), 'X');//头部插入
str1.insert(str1.end(), 'X');//尾部插入 str1.insert(str1.begin(), , 'X');//头部插入3个X str1.insert(str1.begin() + , , 'X');//头部插入3个X,在开头第3个位置插入 std::cout << str1 << std::endl;
}

str.erase(str.begin());//删除第一个字符
str.erase(3, 4);//从下标3开始,删除4个字符(下标从0开始)

 #include <iostream>
#include <string> void main()
{
std::string str("helloworld"); str.erase(str.begin());//删除第一个字符
str.erase(, );//从下标3开始,删除4个字符(下标从0开始) std::cout << str << std::endl;
}

str.replace(0, 3, "china");//从下标0开始,把3个字符替换成china
//位置,长度,字符串

str.replace(0, 3, "china");//从下标0开始,直接插入china

 #include <iostream>
#include <string> void main()
{
std::string str("helloworld"); str.replace(, , "china");//从下标0开始,把3个字符替换成china
//位置,长度,字符串 str.replace(, , "china");//从下标0开始,直接插入china std::cout << str << std::endl;
}

各种find

 #include <iostream>
#include <string> void main()
{
std::string str("helloworld"); std::cout << str.find("wo") << std::endl;//正向查找 std::cout << str.rfind("wo") << std::endl;//反向查找 std::cout << str.find_first_of("wo") << std::endl;//最后一个找到与字符串匹配的字符位置 std::cout << str.find_first_not_of("wo") << std::endl; std::cout << str.find_last_of("wo") << std::endl; std::cout << str.find_last_not_of("wo") << std::endl; std::cout << str << std::endl;
}

string判断是否一样

 #include <iostream>
#include <string> void main()
{
std::string str1("helloworld");
std::string str2("helloworld"); char str3[] = "helloworld";
char str4[] = "helloworld"; std::cout << (str1 == str2) << std::endl;//string重载==
std::cout << (str3 == str4) << std::endl;//判断地址是否一样,地址肯定不一样,永远是0 std::cout << str1.empty() << std::endl;//判断是否为空
}

121456