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