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, 数组元素个数>
1 #include <iostream> 2 #include <array> 3 #include <string> 4 using namespace std; 5 6 void main() 7 { 8 std::array<std::string, 5> string1 = { "calc","notpad","tasklist","mspaint","write" };//std::array<std::string, 数组元素个数> 9 10 for (int i = 0; i < 5; i++) 11 { 12 std::cout << string1[i] << std::endl;//打印 13 system(string1[i].c_str());//执行 14 } 15 16 system("pause"); 17 };
字符串相加,类似C的strcat函数
1 #include <iostream> 2 #include <array> 3 #include <string> 4 using namespace std; 5 6 void main() 7 { 8 std::string str1 = "task"; 9 std::string str2 = "list"; 10 std::string str3 = str1 + str2; 11 12 system(str3.c_str()); 13 14 system("pause"); 15 }
C: char str[]
C++: string
注意区分两者不同,string是类
error C3863: 不可指定数组类型“char [100]”
1 #include <iostream> 2 3 void main() 4 { 5 char str[100]; 6 str = "hello";//error C3863: 不可指定数组类型“char [100]” 7 8 std::string str1; 9 str1 = "world"; 10 }
append可以实现字符串拼接
1 #include <iostream> 2 #include <string> 3 4 void main() 5 { 6 std::string str1("hello"); 7 std::string str2("world");; 8 9 str1.append(str2);//字符串拼接 10 11 std::cout << str1 << std::endl; 12 }
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个位置插入
1 #include <iostream> 2 #include <string> 3 4 void main() 5 { 6 std::string str1("hello"); 7 std::string str2("world");; 8 9 str1.insert(str1.begin(), 'X');//头部插入 10 str1.insert(str1.end(), 'X');//尾部插入 11 12 str1.insert(str1.begin(), 3, 'X');//头部插入3个X 13 14 str1.insert(str1.begin() + 3, 3, 'X');//头部插入3个X,在开头第3个位置插入 15 16 std::cout << str1 << std::endl; 17 }
str.erase(str.begin());//删除第一个字符
str.erase(3, 4);//从下标3开始,删除4个字符(下标从0开始)
1 #include <iostream> 2 #include <string> 3 4 void main() 5 { 6 std::string str("helloworld"); 7 8 str.erase(str.begin());//删除第一个字符 9 str.erase(3, 4);//从下标3开始,删除4个字符(下标从0开始) 10 11 std::cout << str << std::endl; 12 }
str.replace(0, 3, "china");//从下标0开始,把3个字符替换成china
//位置,长度,字符串
str.replace(0, 3, "china");//从下标0开始,直接插入china
1 #include <iostream> 2 #include <string> 3 4 void main() 5 { 6 std::string str("helloworld"); 7 8 str.replace(0, 3, "china");//从下标0开始,把3个字符替换成china 9 //位置,长度,字符串 10 11 str.replace(0, 3, "china");//从下标0开始,直接插入china 12 13 std::cout << str << std::endl; 14 }
各种find
1 #include <iostream> 2 #include <string> 3 4 void main() 5 { 6 std::string str("helloworld"); 7 8 std::cout << str.find("wo") << std::endl;//正向查找 9 10 std::cout << str.rfind("wo") << std::endl;//反向查找 11 12 std::cout << str.find_first_of("wo") << std::endl;//最后一个找到与字符串匹配的字符位置 13 14 std::cout << str.find_first_not_of("wo") << std::endl; 15 16 std::cout << str.find_last_of("wo") << std::endl; 17 18 std::cout << str.find_last_not_of("wo") << std::endl; 19 20 std::cout << str << std::endl; 21 }
string判断是否一样
1 #include <iostream> 2 #include <string> 3 4 void main() 5 { 6 std::string str1("helloworld"); 7 std::string str2("helloworld"); 8 9 char str3[100] = "helloworld"; 10 char str4[100] = "helloworld"; 11 12 std::cout << (str1 == str2) << std::endl;//string重载== 13 std::cout << (str3 == str4) << std::endl;//判断地址是否一样,地址肯定不一样,永远是0 14 15 std::cout << str1.empty() << std::endl;//判断是否为空 16 }
121456