c++ string insert詳解

一、基礎用法

string insert函數是c++中的一個非常重要的字元串操作函數,它用於在字元串中插入字元、字元串或者其他類型的數據。insert函數的基本用法如下:

string insert (size_t pos, const string& str);
string insert (size_t pos, const char* s);
string insert (size_t pos, const char* s, size_t n);
string insert (size_t pos, size_t n, char c);

上述四個函數分別用於在字元串的指定位置插入字元串str、字元指針s、指定字元數的字元指針s,以及指定數量的字元c。下面是一個簡單的插入示例:

#include 
using namespace std;
int main() {
    string str1 = "Hello World!";
    str1.insert(6, "C++ ");
    cout << str1 << endl; // Hello C++ World!
    return 0;
}

上面的代碼中,使用insert函數在字元串的第六個位置插入了”C++ “。輸出結果為”Hello C++ World!”。

二、高級用法

除了基本用法外,insert函數還可以實現一些高級的插入操作,下面將介紹幾種常用的高級用法:

1. 插入子串

使用insert函數插入子串需要注意一些細節。首先,插入的子串需要用雙引號括起來;其次,插入的位置是子串的起始位置;最後,插入的長度是子串的長度。下面的示例演示了如何在字元串中插入子串:

#include 
using namespace std;
int main() {
    string str1 = "Hello World!";
    string str2 = "C++ ";
    str1.insert(6, str2, 0, str2.size()); //插入str2的子串
    cout << str1 << endl; // Hello C++ World!
    return 0;
}

上面的代碼中,使用insert函數在字元串的第六個位置插入了str2的子串。輸出結果為”Hello C++ World!”。

2. 插入重複字元串

insert函數還可以用於插入重複的字元串,只需要指定插入的數量即可。下面的示例演示了如何在字元串中插入重複的字元串:

#include 
using namespace std;
int main() {
    string str1 = "World!";
    str1.insert(str1.begin(), 3, 'H');
    cout << str1 << endl; //HHHWorld!
    return 0;
}

上面的代碼中,使用insert函數在字元串的起始位置插入了3個字元’H’。輸出結果為”HHHWorld!”。

3. 插入其他類型的數據

insert函數還可以用於插入其他類型的數據,比如整型、浮點型等等。只需要先將其他類型的數據轉換為字元串,然後再進行插入即可。下面的示例演示了如何在字元串中插入整型數據:

#include
#include
using namespace std;
int main() {
    string str = "World!";
    int num = 100;
    stringstream ss;
    ss << num;
    str.insert(0, ss.str());
    cout << str << endl; // 100World!
    return 0;
}

上面的代碼中,首先將整型數據num通過stringstream流轉換為字元串,然後使用insert函數在字元串的起始位置插入該字元串。輸出結果為”100World!”。

4. 使用迭代器插入

除了使用位置參數插入,在使用insert函數時還可以使用迭代器來進行插入操作。

#include
#include
using namespace std;
int main(){
    string str = "World";
    str.insert(str.begin() + 2, 'H');
    cout << str << endl; //WoHrld
    return 0;
}

上面的代碼中,使用insert函數在字元串的第2個位置插入了字元’H’。輸出結果為”WoHrld”。

三、總結

本文介紹了c++中字元串操作函數insert的多個用法。除了基本的函數用法外,還介紹了插入子串、插入重複字元串、插入其他類型的數據和使用迭代器插入等高級用法。使用insert函數可以非常方便地在字元串中進行插入操作。

原創文章,作者:KWCAU,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/333226.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KWCAU的頭像KWCAU
上一篇 2025-01-27 13:35
下一篇 2025-01-27 13:35

相關推薦

  • c# enum轉換成string

    本文將從以下幾個方面詳細闡述c#中enum類型轉換成string類型的方法及注意事項。 一、基本語法和示例 c#中的enum類型可以看作是一組有名字的常量值,通常用於定義一組相關的…

    編程 2025-04-29
  • JWT String Argument Cannot Be Null or Empty

    JWT(JSON Web Token)是一種用於進行身份驗證的標準。在使用JWT時,經常會遇到「JWT String Argument Cannot Be Null or Empt…

    編程 2025-04-27
  • Python中String包含的進階應用

    對於Python程序員而言,String類型的操作是日常工作中必不可少的一部分。String包含的操作很多,其中最基礎的操作就是判斷一個字元串是否包含另一個字元串。本篇文章將對Py…

    編程 2025-04-27
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁碟中。在執行sync之前,所有的文件系統更新將不會立即寫入磁碟,而是先緩存在內存…

    編程 2025-04-25
  • 神經網路代碼詳解

    神經網路作為一種人工智慧技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網路的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網路模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • nginx與apache應用開發詳解

    一、概述 nginx和apache都是常見的web伺服器。nginx是一個高性能的反向代理web伺服器,將負載均衡和緩存集成在了一起,可以動靜分離。apache是一個可擴展的web…

    編程 2025-04-25
  • Python輸入輸出詳解

    一、文件讀寫 Python中文件的讀寫操作是必不可少的基本技能之一。讀寫文件分別使用open()函數中的’r’和’w’參數,讀取文件…

    編程 2025-04-25
  • 詳解eclipse設置

    一、安裝與基礎設置 1、下載eclipse並進行安裝。 2、打開eclipse,選擇對應的工作空間路徑。 File -> Switch Workspace -> [選擇…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25
  • git config user.name的詳解

    一、為什麼要使用git config user.name? git是一個非常流行的分散式版本控制系統,很多程序員都會用到它。在使用git commit提交代碼時,需要記錄commi…

    編程 2025-04-25

發表回復

登錄後才能評論