欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C++字符串string

嵌入式技術(shù) ? 來源:嵌入式技術(shù) ? 作者:嵌入式技術(shù) ? 2023-07-10 00:26 ? 次閱讀

1.string類簡介

string是C++編程語言中的字符串。在C++中字符串處理可以使用c語言字符串形式char *,也可以使用string類格式。

string 是一個類,類內(nèi)有char *指針,通過容器方式管理字符串。使用string類型需要需要包含頭文件string。

2.string類的構(gòu)造函數(shù)

string類提供了多種構(gòu)造函數(shù),支持無參構(gòu)造、有參構(gòu)造、拷貝構(gòu)造。

無參構(gòu)造:
string()  
有參構(gòu)造:string(const char *str);
拷貝構(gòu)造
:string(const string &str);
初始化字符串為count個c字符:string(int count,char c);

使用示例:

#include 
#include 
using namespace std;
void test()
{
	string s1;//默認構(gòu)造,即無參構(gòu)造函數(shù)
	char const* str = "hello,world";//c語言字符穿
	string s2(str);//傳入C語言字符串
	cout 
wKgaomSqwICAA6-pAAK9VNfkJnU317.png

3.string類賦值相關(guān)函數(shù)

string類中提供"="運算符重載和assign全局函數(shù)進行賦值操。這兩種方式均有多個重載版本,如下所示:

string字符串賦值
string &operator=(const char *s);//將c字符串賦給string
string &operator=(const string &s);//將s賦值給string
string &operator=(char c);//將字符c賦給string
//全局函數(shù)
string &assign(const char *s);//將c字符串賦給string
string &assign(const char *s,int n);//將c字符串前n個賦給string
string &assign(const string &s);//將s賦給string
string &assign(int n,char c);//將n個c賦給string

使用示例:

#include 
using namespace std;
#include 
void test()
{
	string s1="hello,world";//c語言字符串賦值
	cout 
wKgaomSqwWmAFeV0AAIlrwTEwq0242.png

4.string類字符串拼接

string類中字符串拼接有重載"+="運算和全局函數(shù)append方式,均有多種重載版本。

運算符重載
string &operator+=(const char *s);////將s追加到string
string &operator+=(const string &str);//將str追加到string
string &operator+=(const char c);//將字符c追加到string
全局函數(shù)append
string &append(const char *s);//將s追加到string
string &append(const char *s,int n);//將s的前n個追加到string
string &append(const string &str);//等價于operator+=(const string &str)
string &append(const string &str,int pos,int n); --從str的第pos位置開始,取出n個字符追加到string中

使用示例:

void test()
{
	//+=運算符重載示例
	string s1 = "C++";
	s1 += "學(xué)習(xí)";
	s1 += ',';
	cout 
wKgZomSqwjyAAdpMAAKZmJlCIUk800.png

5.字符串查找與替換

string字符串查找有find、rfind函數(shù)。其中find函數(shù)是從左往右查找,查找成功返回第一個出現(xiàn)的下標,失敗返回-1;rfind是查找最后一個出現(xiàn)的下標,失敗返回-1。 replace函數(shù)實現(xiàn)字符串替換。

//find函數(shù):從左往右查找
返回值:查找成功返回出現(xiàn)的位置,失敗返回-1
int find(const string&str,int pos=0)const;//形參pos表示開始查找的起始位置
int find(const char *str,int pos=0)const;
int find(const char *str,int pos=0,int n)const;//從str的第pos開始的前n個字符中str出現(xiàn)的位置
int find(const char c,int pos=0);//查找字符c
//rfind函數(shù):從右往左查找
int rfind(const string &str,int pos=npos);從pos位置開始查找str最后一次出現(xiàn)的位置
int rfind(const char *str,int pos=npos);從pos位置開始查找str最后一次出現(xiàn)的位置
int rfind(const char *str,int pos=pos,int n);從pos開始的前n個字符中str最后一次出現(xiàn)的位置
int rfind(const char c,int pos=0);//查找c最后一次出現(xiàn)的位置
//字符串替換
string &replace(int pos,int n,const string &s);//將字符串的第pos位置開始的n個字符替換成s
string &replace(int pos,int n,const char *s);

使用示例:

#include 
#include 
using namespace std;
void test()
{
	string str = "1asd3as456asd4789asd";
	int pos = str.find("asd");//查找asd第一次出現(xiàn)的位置
	cout 
wKgaomSqw1GAavHcAAMeFfb75Lo647.png

6.字符串比較

string類中字符串比較函compare數(shù)由多個重載版本,既可以和C語言風格const char *字符串進行比較,也可以和string類字符串進行比較。相等返回0,不相等返回!0值。

字符串比較:
int compare(const char *str);//相等返回0,否則返回非0值
//比較string的len個字符,從idx位置開始
int string::compare (size_type idx, size_type len, const string& str) const
//從指定位置指定長度開始比較
int string::compare (size_type idx, size_type len, const string&str, size_type str_idx, size_type str_len) const

使用示例:

#include 
using namespace std;
#include 
void test()
{
	string str1 = "hello,world";
	if (str1 == "hello,world")
	{
		cout 
wKgZomSqxGWAQGaUAAJlt4QiE8o833.png

7.string字符串以字符方式讀寫

string類字符串使用字符方式訪問,可以使用重載"[]"版本函數(shù),即可以和C語言中訪問方式一樣,也可以使用函數(shù)at來訪問。

string類中對于字符串的長度獲取,可以使用size()函數(shù)或者length()函數(shù)來實現(xiàn)。

string以字符方式訪問
	char &operator[](int n);
	char &at(int n);
string 中獲取字符串長度
	str.size();
	str.length();

使用示例:

#include 
#include 
using namespace std;
void test()
{
	string str = "hello,world";
	cout 
wKgZomSqxXWAWiX3AAHNa5Z8Ff8254.png

8.string字符串的插入與刪除

string類中插入函數(shù)insert支持多種插入方式,有多個重載版本。

字符串刪除可以使用erease函數(shù)實現(xiàn)。

c++插入:
string& insert(int pos,const char *s);//從第pos位置開始插入s
string& insert(int pos,const string &s);

string &insert(int p0, const char *s, int n);//從p0位置開始插入s,插入的s連續(xù)n個字符
string &insert(int p0,const string &s, int pos, int n);//從p0位置開始插入s,插入的s從pos開始,連續(xù)n個字符

string &insert(int p0, int n, char c);//從p0處插入n個字符c

c++刪除字符串
string &erase(int pos,int n=npos);//從pos位置開始刪除n個字符

使用示例:

#include 
#include 
using namespace std;
void test()
{
	string str = "hello,";
	str.insert(2,"aaa");//從第2個位置開始插入aaa
	cout 
wKgZomSqxi6AVvZJAAKGeGuHEG4532.png

9.子字符串提取

string類中對于子字符串的提取,可以使用函數(shù)substr實現(xiàn)。

判斷string類字符串是否為空,即長度是否為0可以使用empty函數(shù)實現(xiàn)。

子字符串提取
string substr(int pos=0,int n=npos)const;//從pos位置提取n個子字符
//判斷字符串是否為空
bool empty();

使用示例:

wKgZomSqxp6AWpiFAAIBZEx4jZU077.png

10.string類轉(zhuǎn)換為char *

將string字符串轉(zhuǎn)換為char *字符串,可以使用c_str函數(shù)實現(xiàn)。

const char *c_str();
const char *data();
在c11版本之后,這兩個函數(shù)功能一致,都是將string類型字符串轉(zhuǎn)換成char *,返回一個char *字符串,以'?'結(jié)尾。

使用示例:

#include 
#include 
using namespace std;
int main()
{
	string str = "hello,world";
	const char* p = str.c_str();
	cout 
wKgZomSq33iAcHnsAAFBNkMtYHw370.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1949

    瀏覽量

    34893
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    585

    瀏覽量

    20573
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2114

    瀏覽量

    73779
  • string
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    4739
收藏 人收藏

    評論

    相關(guān)推薦

    string字符串和char*/char[]型型字符串的區(qū)別 相關(guān)資料分享

    概念區(qū)分在c中,是沒有string類型的數(shù)據(jù)的。但是c語言里有這個頭文件。容易讓人誤認為c中有string類型的數(shù)據(jù)。區(qū)分
    發(fā)表于 07-05 07:27

    C語言字符串轉(zhuǎn)數(shù)字實現(xiàn)方法

    C/C++語言中沒有專門的字符串變量,通常用字符數(shù)組來存放字符串字符串是以“\0”作為結(jié)束符
    發(fā)表于 11-14 17:50 ?1.3w次閱讀

    Tcl學(xué)習(xí):string compare命令對字符串的比較

    string equal則是對兩個字符串進行簡單的比較,如兩者嚴格相同,則返回1,否則返回0(與stringcompare的返回值是不同的)。
    的頭像 發(fā)表于 09-23 10:10 ?9000次閱讀

    C++字符串類學(xué)習(xí)的總結(jié)

    一般我們在c語言要實現(xiàn)對字符串操作的話,一般是采用字符數(shù)組或者一組函數(shù)來實現(xiàn)的,為啥這樣做呢,那是因為c語言里面根本就沒有字符串類型的關(guān)鍵字
    的頭像 發(fā)表于 12-24 16:24 ?784次閱讀

    字符串string對象操作的全面總結(jié)

    ? ? 字符串操作看似簡單,其實非常重要,不注意的話,經(jīng)常出現(xiàn)代碼運行結(jié)果和自己想要的不一致,甚至崩潰。本文總結(jié)了一些構(gòu)建string對象方法、修改string對象的方法、string
    的頭像 發(fā)表于 11-11 11:23 ?1974次閱讀
    <b class='flag-5'>字符串</b><b class='flag-5'>string</b>對象操作的全面總結(jié)

    C語言總結(jié)_字符串全方位練習(xí)

    C語言字符串全方位練習(xí),涉及知識點:字符串解析、大小寫判斷、字符串插入、字符串刪除、字符串排序、
    的頭像 發(fā)表于 08-14 09:41 ?1534次閱讀

    關(guān)于STEP7庫功能字符串轉(zhuǎn)換

    :庫libraries---Standard Libray---TI-S7 Converting Blocks) FC編號 功能名稱 描述 FC5 DI_STRING 雙整數(shù)轉(zhuǎn)字符串 FC16
    的頭像 發(fā)表于 10-10 10:50 ?4334次閱讀

    字符串類型以及C++語言布爾類型

    C風格字符串;char+變量名+[ ]=”字符串值” (可以隨便定義變量名,也就是用變量名代替某一大字符,可以簡單很多。)
    的頭像 發(fā)表于 02-21 15:40 ?1120次閱讀
    <b class='flag-5'>字符串</b>類型以及<b class='flag-5'>C++</b>語言布爾類型

    C語言字符串的引用方式

    C語言程序中,字符串是存放在字符數(shù)組中的。 2. 用字符數(shù)組存放一個字符串,可以通過數(shù)組名和下標引用
    的頭像 發(fā)表于 03-10 14:57 ?1987次閱讀

    C++入門之string

    前一篇文章我們已經(jīng)了解了C++中的基本類型,C++還提供了很多抽象數(shù)據(jù)類型,例如字符串stringstring包含多個
    的頭像 發(fā)表于 03-17 13:58 ?596次閱讀

    代碼字符串分割方法

    String#split 來分割。 使用 String#split 方法 String 類中 split 方法,是我們平常處理字符串分割最常用的方法之一,它可以根據(jù)給定的分隔符或正
    的頭像 發(fā)表于 09-25 11:42 ?847次閱讀

    c語言字符串定義

    C語言是一種強大而廣泛使用的編程語言,字符串是其中一個非常重要的概念。在C語言中,字符串是由一系列字符組成的數(shù)組,它可以表示文本、數(shù)字等各種
    的頭像 發(fā)表于 11-24 10:02 ?2063次閱讀

    oracle中拼接字符串函數(shù)

    在Oracle中,我們可以使用 CONCAT 函數(shù)來拼接字符串。CONCAT 函數(shù)接受兩個參數(shù),它將這兩個參數(shù)連接起來并返回相應(yīng)的字符串結(jié)果。 語法示例: CONCAT(string
    的頭像 發(fā)表于 12-06 09:49 ?2994次閱讀

    oracle字符串split成多個

    。本文將全面詳解Oracle字符串分割方法的使用、語法、注意事項以及實際應(yīng)用場景等。 一、基本語法 Oracle字符串分割方法的基本語法如下: SELECT REGEXP_SUBSTR( string
    的頭像 發(fā)表于 12-06 09:54 ?5426次閱讀

    鴻蒙TypeScript學(xué)習(xí)第10天:【String字符串)】

    String 對象用于處理文本(字符串)。
    的頭像 發(fā)表于 04-08 14:32 ?868次閱讀
    鴻蒙TypeScript學(xué)習(xí)第10天:【<b class='flag-5'>String</b>(<b class='flag-5'>字符串</b>)】