当前位置:   article > 正文

c++中字符串操作函数合集_c++字符串操作函数

c++字符串操作函数

在 C++中,有许多字符串操作的函数可供使用,以下是其中一些常见的函数:

  1. std::string::size(): 返回字符串的长度(字符数)。
    1. 1.std::string::size()
    2. #include <iostream>
    3. #include <string>
    4. int main() {
    5. std::string str = "Hello, world!";
    6. std::cout << "The length of the string is: " << str.size() << std::endl;
    7. return 0;
    8. }
    9. //输出结果为:
    10. The length of the string is: 13
  2. std::string::substr(): 返回一个子字符串。
    1. 2.std::string::substr()
    2. #include <iostream>
    3. #include <string>
    4. int main() {
    5. std::string str = "Hello, world!";
    6. std::string sub_str = str.substr(7, 5);
    7. std::cout << "The substring is: " << sub_str << std::endl;
    8. return 0;
    9. }
    10. //输出结果为:
    11. The substring is: world
  3. std::string::append(): 在字符串末尾添加另一个字符串或字符。
    1. 3.std::string::append()
    2. #include <iostream>
    3. #include <string>
    4. int main() {
    5. std::string str = "Hello, ";
    6. str.append("world!");
    7. std::cout << str << std::endl;
    8. return 0;
    9. }
    10. //输出结果为:
    11. Hello, world!
  4. std::string::insert(): 在字符串的指定位置插入另一个字符串或字符。
    1. 4.std::string::insert()
    2. #include <iostream>
    3. #include <string>
    4. int main() {
    5. std::string str = "Hello, !";
    6. str.insert(7, "world");
    7. std::cout << str << std::endl;
    8. return 0;
    9. }
    10. //输出结果为:
    11. Hello, world!

  5. std::string::erase(): 从字符串中删除指定位置或范围的字符。
    1. 5.std::string::erase()
    2. #include <iostream>
    3. #include <string>
    4. int main() {
    5. std::string str = "Hello, world!";
    6. str.erase(5, 7);
    7. std::cout << str << std::endl;
    8. return 0;
    9. }
    10. //输出结果为:
    11. Hello!

  6. std::string::replace(): 将字符串的指定位置或范围的字符替换为另一个字符串。
    1. 6.std::string::replace()
    2. #include <iostream>
    3. #include <string>
    4. int main() {
    5. std::string str = "Hello, world!";
    6. str.replace(7, 5, "everyone");
    7. std::cout << str << std::endl;
    8. return 0;
    9. }
    10. //输出结果为:
    11. Hello, everyone!

  7. std::string::find(): 查找一个子字符串,并返回其在字符串中第一次出现的位置。
    1. 7.std::string::find()
    2. #include <iostream>
    3. #include <string>
    4. int main() {
    5. std::string str = "Hello, world!";
    6. size_t pos = str.find("world");
    7. if (pos != std::string::npos) {
    8. std::cout << "Found at position " << pos << std::endl;
    9. } else {
    10. std::cout << "Not found" << std::endl;
    11. }
    12. return 0;
    13. }
    14. //输出结果为:
    15. Found at position 7

  8. std::string::rfind(): 从字符串的末尾开始查找一个子字符串,并返回其在字符串中最后一次出现的位置。
    1. 8.std::string::rfind()
    2. #include <iostream>
    3. #include <string>
    4. int main() {
    5. std::string str = "Hello, world!";
    6. size_t pos = str.rfind("l");
    7. if (pos != std::string::npos) {
    8. std::cout << "Found at position " << pos << std::endl;
    9. } else {
    10. std::cout << "Not found" << std::endl;
    11. }
    12. return 0;
    13. }
    14. //输出结果为:
    15. Found at position 10

  9. std::string::find_first_of(): 在字符串中查找给定字符集中的任何一个字符,并返回其在字符串中第一次出现的位置。
    1. 9.std::string::find_first_of()
    2. #include <iostream>
    3. #include <string>
    4. int main() {
    5. std::string str = "Hello, world!";
    6. size_t pos = str.find_first_of("aeiou");
    7. if (pos != std::string::npos) {
    8. std::cout << "Found vowel at position " << pos << std::endl;
    9. } else {
    10. std::cout << "No vowel found" << std::endl;
    11. }
    12. return 0;
    13. }
    14. //输出结果为:
    15. Found vowel at position 1

  10. std::string::find_last_of(): 在字符串中查找给定字符集中的任何一个字符,并返回其在字符串中最后一次出现的位置。
    1. 10.std::string::find_last_of()
    2. #include <iostream>
    3. #include <string>
    4. int main() {
    5. std::string str = "Hello, world!";
    6. size_t pos = str.find_last_of("aeiou");
    7. if (pos != std::string::npos) {
    8. std::cout << "Found vowel at position " << pos << std::endl;
    9. } else {
    10. std::cout << "No vowel found" << std::endl;
    11. }
    12. return 0;
    13. }
    14. //输出结果为:
    15. Found vowel at position 8

  11. std::string::find_first_not_of(): 在字符串中查找不属于给定字符集中的任何一个字符,并返回其在字符串中第一次出现的位置。
    1. 11.std::string::find_first_not_of()
    2. #include <iostream>
    3. #include <string>
    4. int main() {
    5. std::string str = "Hello, world!";
    6. size_t pos = str.find_first_not_of("Helo, wrd!");
    7. if (pos != std::string::npos) {
    8. std::cout << "Found non-matching character at position " << pos << std::endl;
    9. } else {
    10. std::cout << "All characters match" << std::endl;
    11. }
    12. return 0;
    13. }
    14. //输出结果为:
    15. Found non-matching character at position 7

  12. std::string::find_last_not_of(): 在字符串中查找不属于给定字符集中的任何一个字符,并返回其在字符串中最后一次出现的位置。
    1. 12.std::string::find_last_not_of()
    2. #include <iostream>
    3. #include <string>
    4. int main() {
    5. std::string str = "Hello, world!";
    6. size_t pos = str.find_last_not_of("Helo, wrd!");
    7. if (pos != std::string::npos) {
    8. std::cout << "Found non-matching character at position " << pos << std::endl;
    9. } else {
    10. std::cout << "All characters match" << std::endl;
    11. }
    12. return 0;
    13. }
    14. //
    15. 输出结果为:
    16. Found non-matching character at position 11

  13. std::string::compare(): 比较两个字符串,返回一个整数表示它们的关系。
    1. 13.std::string::compare()
    2. #include <iostream>
    3. #include <string>
    4. int main() {
    5. std::string str1 = "Hello";
    6. std::string str2 = "Hello, world!";
    7. int result = str1.compare(str2);
    8. if (result == 0) {
    9. std::cout << "The strings are equal" << std::endl;
    10. } else if (result < 0) {
    11. std::cout << "The first string is less than the second" << std::endl;
    12. } else {
    13. std::cout << "The first string is greater than the second" << std::endl;
    14. }
    15. return 0;
    16. }
    17. //输出结果为:
    18. The first string is less than the second

这些函数的用法和参数可以参考 C++ 标准库的文档或教程。除此之外,C++ 还提供了许多其他字符串操作函数和算法,例如 std::transformstd::reversestd::replace_ifstd::count 等,可以根据需要选择使用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/76125?site
推荐阅读
相关标签
  

闽ICP备14008679号