最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++中字符串的查找與插入方式

 更新時(shí)間:2026年04月26日 10:40:18   作者:2601_95612197  
本文介紹了三種查找子字符串的方法,包括暴力匹配、使用函數(shù)和使用循環(huán),同時(shí),介紹了三種插入內(nèi)容的方法,包括直接插入、使用substr截取和使用for循環(huán)逐個(gè)字符拼接,最后強(qiáng)調(diào)了這些方法僅為個(gè)人經(jīng)驗(yàn),希望能提供參考

一、字符串查找

在一個(gè)長字符串中找到需要從子串,可以用暴力匹配,從長串中第一個(gè)字符開始,一個(gè)個(gè)和字串對(duì)比,能完全對(duì)上就是找到了,對(duì)不上就循環(huán)加一。

1、用函數(shù)加循環(huán)查找

int findsub(const string &s,const string &sub){
	int n=s.size(),m=sub.size();
	if(m>n)
	    return -1;
	for(int i=0;i<=n-m;i++){
		int j=0;
		while(j<m&&s[i+j]==sub[j]){
			j++;
		}
		if(j==m){
			return i;
		}
	}
} 

2、用string中自帶的find()

#include<bits/stdc++.h>
using namespace std;
int main(){
	string s,sub;//s是主串,sub是要查找的子串 
	cin>>s>>sub;
	size_t pos=s.find(sub);//調(diào)用string中自帶的find(),會(huì)查找出子串第一次出現(xiàn)的位置,返回值類型是size_t(無符號(hào)整數(shù),專門用來存下標(biāo)或長度) 
	if(pos!=string::npos){//string::npos是定義的常量,表示沒找到 
		cout<<pos<<endl;//找到輸出下標(biāo) 
	}
	else{
		cout<<-1<<endl;//沒找到輸出-1 
	}
	return 0;
}

可以用getlin(cin,s)整行讀取字符串包括空格

二、字符串插入

在指定位置加內(nèi)容,把原字符串在指定位置拆成兩個(gè)部分,前部分加上插入內(nèi)容再加上后半部分。

1、用substr把字符串截取字串,拼接起來

#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;//原字符串 
	string ins;//要插入的字符串 
	int pos=2;//在下標(biāo)為二的位置上插入新的字符 
	cin>>s>>ins;
	string res=s.substr(0,pos)+ins+s.substr(pos);//substr從字符串中截取子串,s.substr(起始位置,截取長度),s.substr(起始位置),不寫長度默認(rèn)到最后 
	cout<<res;
	return 0; 
}

2、用for循環(huán),逐個(gè)字符拼接

#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;//原字符串 
	string ins;//要插入的字符串 
	int pos=2;//在下標(biāo)為二的位置上插入新的字符 
	cin>>s>>ins;
	string str;
	for(int i=0;i<pos;i++){
		str=str+s[i];
	}//原字符前半部分:0~pos-1 
	for(int i=0;i<ins.size();i++){
		str=str+ins[i];
	}//插入的內(nèi)容 
	for(int i=pos;i<s.size();i++){
		str=str+s[i];
	}//原字符串后半部分:pos~結(jié)束 
	cout<<str;
	return 0; 
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 深入分析C++中幾個(gè)最不常用的關(guān)鍵字

    深入分析C++中幾個(gè)最不常用的關(guān)鍵字

    本篇文章是對(duì)C++中幾個(gè)最不常用的關(guān)鍵字進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • c語言統(tǒng)計(jì)素?cái)?shù)之和的實(shí)例

    c語言統(tǒng)計(jì)素?cái)?shù)之和的實(shí)例

    這篇文章主要介紹了c語言統(tǒng)計(jì)素?cái)?shù)之和的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • c++實(shí)現(xiàn)哈希桶的步驟

    c++實(shí)現(xiàn)哈希桶的步驟

    本文主要介紹了c++實(shí)現(xiàn)哈希桶的步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 基于C++實(shí)現(xiàn)去除字符串頭尾指定字符功能

    基于C++實(shí)現(xiàn)去除字符串頭尾指定字符功能

    編程時(shí)我們經(jīng)常需要對(duì)字符串進(jìn)行操作,其中有一項(xiàng)操作就是去除字符串的頭(尾)指定的字符,比如空格。本文為大家詳細(xì)介紹了如何利用C++實(shí)現(xiàn)這一效果,需要的可以參考一下
    2022-04-04
  • C語言全面細(xì)致講解單雙精度float與double的使用方法

    C語言全面細(xì)致講解單雙精度float與double的使用方法

    C語言中小數(shù)的數(shù)據(jù)類型為 float 或 double:float 稱為單精度浮點(diǎn)數(shù),double 稱為雙精度浮點(diǎn)數(shù)。不像整數(shù),小數(shù)的長度始終是固定的,float 占用4個(gè)字節(jié),double 占用8個(gè)字節(jié)
    2022-05-05
  • Opencv實(shí)現(xiàn)視頻播放與進(jìn)度控制

    Opencv實(shí)現(xiàn)視頻播放與進(jìn)度控制

    這篇文章主要為大家詳細(xì)介紹了Opencv實(shí)現(xiàn)視頻播放與進(jìn)度控制,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C語言詳解冒泡排序?qū)崿F(xiàn)

    C語言詳解冒泡排序?qū)崿F(xiàn)

    冒泡排序是一種簡單的排序算法,它也是一種穩(wěn)定排序算法。其實(shí)現(xiàn)原理是重復(fù)掃描待排序序列,并比較每一對(duì)相鄰的元素,當(dāng)該對(duì)元素順序不正確時(shí)進(jìn)行交換。一直重復(fù)這個(gè)過程,直到?jīng)]有任何兩個(gè)相鄰元素可以交換,就表明完成了排序
    2022-04-04
  • C++實(shí)現(xiàn)簡易通訊錄功能

    C++實(shí)現(xiàn)簡易通訊錄功能

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)簡易通訊錄功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C語言實(shí)現(xiàn)大數(shù)值金額大寫轉(zhuǎn)換的方法詳解

    C語言實(shí)現(xiàn)大數(shù)值金額大寫轉(zhuǎn)換的方法詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用C語言實(shí)現(xiàn)大數(shù)值金額大寫轉(zhuǎn)換的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-03-03
  • QT實(shí)現(xiàn)自定義Http客戶端的示例代碼

    QT實(shí)現(xiàn)自定義Http客戶端的示例代碼

    這篇文章主要為大家詳細(xì)介紹了QT如何實(shí)現(xiàn)自定義Http客戶端的,可以實(shí)現(xiàn)支持get,post請(qǐng)求方式;支持連接超時(shí)處理;支持網(wǎng)絡(luò)錯(cuò)誤,嘗試重連等功能,感興趣的小伙伴可以學(xué)習(xí)一下
    2022-11-11

最新評(píng)論

德惠市| 彰化市| 光泽县| 包头市| 呼和浩特市| 无锡市| 阳信县| 盘锦市| 中宁县| 英德市| 巨野县| 新宾| 股票| 汝州市| 东山县| 宽城| 嘉鱼县| 化隆| 淮北市| 湄潭县| 绍兴县| 通化市| 蓝山县| 汉阴县| 安义县| 达尔| 寿光市| 潼南县| 庆阳市| 六安市| 禹州市| 荣昌县| 永善县| 额敏县| 宝山区| 南陵县| 旌德县| 永嘉县| 满城县| 南投县| 丰都县|