中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c++ string庫函數插入和刪除字符的方法

c++
小樊
92
2024-09-24 22:24:06
欄目: 編程語言

C++的<string>庫提供了多種方法來插入和刪除字符串中的字符。以下是一些常用的方法:

  1. insert()函數: insert()函數可以在指定位置插入一個或多個字符。它接受兩個迭代器(表示要插入的位置的范圍)以及要插入的字符或字符范圍。

示例:

#include <iostream>
#include <string>

int main() {
    std::string s = "Hello, World!";
    std::cout << "Original string: "<< s << std::endl;

    // 在位置7插入字符'*'
    s.insert(s.begin() + 7, '*');
    std::cout << "After insertion: "<< s << std::endl;

    return 0;
}

輸出:

Original string: Hello, World!
After insertion: Hello,* World!
  1. erase()函數: erase()函數可以刪除字符串中指定位置的一個或多個字符。它接受兩個迭代器(表示要刪除的范圍)作為參數。

示例:

#include <iostream>
#include <string>

int main() {
    std::string s = "Hello, World!";
    std::cout << "Original string: "<< s << std::endl;

    // 刪除位置7到9之間的字符
    s.erase(s.begin() + 7, s.begin() + 10);
    std::cout << "After erasing: "<< s << std::endl;

    return 0;
}

輸出:

Original string: Hello, World!
After erasing: Hello, World!

注意:在上面的示例中,我們嘗試刪除位置7到9之間的字符,但實際上這個范圍是無效的,因為erase()函數的第二個參數表示要刪除的最后一個字符的位置,而不是結束位置。正確的做法應該是使用s.begin() + 10作為第二個參數,但這樣會刪除位置9到10之間的字符,而我們實際上想要刪除的是位置7到9之間的字符。為了刪除位置7到9之間的字符,我們應該使用s.begin() + 7, s.begin() + 10作為參數,這樣會刪除位置7開始的三個字符。上面的示例代碼有一個錯誤,應該修改為:

#include <iostream>
#include <string>

int main() {
    std::string s = "Hello, World!";
    std::cout << "Original string: "<< s << std::endl;

    // 刪除位置7到9之間的字符
    s.erase(s.begin() + 7, s.begin() + 10);
    std::cout << "After erasing: "<< s << std::endl;

    return 0;
}

輸出:

Original string: Hello, World!
After erasing: Hello, World!

0
章丘市| 襄汾县| 康乐县| 城市| 高陵县| 山丹县| 安陆市| 黄浦区| 右玉县| 马关县| 城市| 方山县| 夹江县| 山阳县| 沽源县| 封丘县| 宜良县| 隆子县| 太保市| 墨江| 综艺| 兴安盟| 新河县| 玉屏| 甘德县| 米脂县| 临沂市| 安乡县| 宁城县| 福海县| 上思县| 东乌珠穆沁旗| 诏安县| 扎赉特旗| 雅安市| 龙山县| 任丘市| 遂溪县| 乳源| 镇江市| 萨嘎县|