欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c++ string的erase刪除方法

 更新時(shí)間:2020年12月11日 08:54:01   作者:_icrazy_  
這篇文章主要介紹了c++ string的erase刪除方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

之前不是很清楚c++中string如何刪除元素,現(xiàn)在記錄一下。

(參考自 c++ primer plus 第六版 模版類 string)

string中提供的成員函數(shù)可以用來刪除字符串中的字符,這里主要介紹erase方法

erase方法原型

1. basic_string & erase(size_type pos=0, size_type n=npos);

即從給定起始位置pos處開始刪除, 要?jiǎng)h除字符的長(zhǎng)度為n, 返回值修改后的string對(duì)象引用

示例[1]

#include<iostream>
#include<string>
using namespace std;

int main(){
 string str = "hello c++! +++";
 // 從位置pos=10處開始刪除,直到結(jié)尾
 // 即: " +++"
 str.erase(10);
 cout << '-' << str << '-' << endl;
 // 從位置pos=6處開始,刪除4個(gè)字符
 // 即: "c++!"
 str.erase(6, 4);
 cout << '-' << str << '-' << endl;
 return 0;
}

輸出

2. iterator erase(const_iterator position)

刪除迭代器位置處的單個(gè)字符, 并返回下個(gè)元素的迭代器

3. iterator erase(const_iterator first, const_iterator last)

刪除迭代器[first, last)區(qū)間的所有字符,返回一個(gè)指向被刪除的最后一個(gè)元素的下一個(gè)字符的迭代器.

示例[2,3]:

#include<iostream>
#include<string>
using namespace std;

int main(){
 string str = "hello c++! +++";
 // 刪除"+++"前的一個(gè)空格
 str.erase(str.begin()+10);
 cout << '-' << str << '-' << endl;
 // 刪除"+++"
 str.erase(str.begin() + 10, str.end());
 cout << '-' << str << '-' << endl;
 return 0;
}

輸出

補(bǔ)充

除了erase方法用于刪除string中的元素, void pop_back();方法也可以用來刪除元素, 但是只能刪除string的最后一個(gè)元素

查找方法

在使用erase刪除函數(shù)的時(shí)候,經(jīng)常會(huì)和查找函數(shù)一起使用

*find*(**)系列方法參數(shù)可以是char 或者 string 類型, 為待查找的目標(biāo), 返回值為 size_type;當(dāng) 查找不到目標(biāo)時(shí),返回值為 npos, 可以這樣判斷

string longer("That's a funny hat.");
//size_type loc1 = longer.find("hat"); // 存在
size_type loc1 = longer.find("hello"); //不存在
if (loc1 == string::npos)
 cout<< "not found" <<endl;

以上這篇c++ string的erase刪除方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • WM_CLOSE、WM_DESTROY、WM_QUIT及各種消息投遞函數(shù)詳解

    WM_CLOSE、WM_DESTROY、WM_QUIT及各種消息投遞函數(shù)詳解

    這篇文章主要介紹了WM_CLOSE、WM_DESTROY、WM_QUIT及各種消息投遞函數(shù),有助于讀者更好的理解windows程序的消息機(jī)制,需要的朋友可以參考下
    2014-07-07
  • C語言實(shí)現(xiàn)隨機(jī)發(fā)撲克牌

    C語言實(shí)現(xiàn)隨機(jī)發(fā)撲克牌

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)隨機(jī)發(fā)撲克牌,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C語言實(shí)現(xiàn)BMP圖像細(xì)化處理

    C語言實(shí)現(xiàn)BMP圖像細(xì)化處理

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)BMP圖像細(xì)化處理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Opencv基于文字檢測(cè)去圖片水印的實(shí)現(xiàn)示例

    Opencv基于文字檢測(cè)去圖片水印的實(shí)現(xiàn)示例

    去水印是個(gè)麻煩事,本文就來介紹一種方法Opencv基于文字檢測(cè)去圖片水印的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • C語言連接并操作Sedna XML數(shù)據(jù)庫的方法

    C語言連接并操作Sedna XML數(shù)據(jù)庫的方法

    這篇文章主要介紹了C語言連接并操作Sedna XML數(shù)據(jù)庫的方法,實(shí)例分析了C語言操作XML文件的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • C語言練習(xí)題:自由落體的小球簡(jiǎn)單實(shí)例

    C語言練習(xí)題:自由落體的小球簡(jiǎn)單實(shí)例

    下面小編就為大家?guī)硪黄狢語言練習(xí)題:自由落體的小球簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨小編過來看看吧
    2016-05-05
  • C語言廣播的使用詳解

    C語言廣播的使用詳解

    顧名思義可以把自己的數(shù)據(jù)發(fā)送給在特定范圍內(nèi)的所有人;我們網(wǎng)絡(luò)編程中的廣播一般是通過特定的廣播地址把自己的數(shù)據(jù)發(fā)送給局域網(wǎng)內(nèi)當(dāng)前在線的客戶端
    2022-05-05
  • C/C++?extern和static的使用詳解

    C/C++?extern和static的使用詳解

    這篇文章主要介紹了C/C++?extern和static的使用,在講到extern和static的時(shí)候先了解一下定義和聲明的基本概念,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • OpenCV透視變換應(yīng)用之書本視圖矯正+廣告屏幕切換

    OpenCV透視變換應(yīng)用之書本視圖矯正+廣告屏幕切換

    透視變換是指利用透視中心、像點(diǎn)、目標(biāo)點(diǎn)三點(diǎn)共線的條件,按透視旋轉(zhuǎn)定律使承影面繞跡線旋轉(zhuǎn)某一角度,破壞原有的投影光線束,仍能保持承影面上投影幾何圖形不變的變換。本文將為大家介紹兩個(gè)OpenCV透視變換應(yīng)用,需要的可以參考一下
    2022-08-08
  • C++?std::array實(shí)現(xiàn)編譯器排序

    C++?std::array實(shí)現(xiàn)編譯器排序

    這篇文章主要介紹了C++?std::array實(shí)現(xiàn)編譯器排序,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06

最新評(píng)論