C 程式設計入門之五(string容器)

2021-09-19 13:42:43 字數 3707 閱讀 2156

1.本質:string是c++風格的字串,而string本質上是乙個類

2.string和char*區別

char* 是乙個指標

string是乙個類,類內部封裝了char*,管理這個字串,是乙個char型的容器。

3.特點

string類內部封裝了很多成員方法

例如:查詢find,拷貝copy,刪除delete,替換replace,插入insert;

string管理char所分配內容,不用擔心複製越界和取值越界等,由類內部進行負責。

//建構函式原型:

string(); //建立乙個空的字串,例如:string str;

string(const char* s); //使用字串s初始化

string(const string& str); //使用乙個string物件初始化另乙個string物件,拷貝構造

string(int n, char c); //使用n個字元c初始化

**演示:

#include"pch.h"

#include#include#include#include#includeusing namespace std;

using namespace cv;

//建構函式原型:

//string(); 建立乙個空的字串,例如:string str;

//string(const char* s); 使用字串s初始化

//string(const string& str); /使用乙個string物件初始化另乙個string物件,拷貝構造

//string(int n, char c); 使用n個字元c初始化

void test01()

int main()

#include"pch.h"

#include#include#include#include#includeusing namespace std;

using namespace cv;

//string的賦值操作

//賦值函式原型

//string& operator=(const char* s); char*型別字串,賦值給當前的字串

//string& operator=(const string &s); 把字串s賦給當前的字串

//string& operator=(char s); 字串賦給當前的字串

//string& assign(const char* s); 把字串s賦給當前的字串

//string& assign(const char* s,int n); 把字串s的前n個字串賦給當前的字串

//string& assign(const string &s); 把字串s賦給當前字串

//string& assign(int n,char c); 用n個字元c賦給單簽字串

void test01()

實現在字串末尾拼接字串

#include"pch.h"

#include#include#include#include#includeusing namespace std;

using namespace cv;

//string的賦值操作

//賦值函式原型

//string& operator+=(const char* str); 過載+=操作符

//string& operator+=(const string c); 過載+=操作符

//string& operator+=(const string& str); 過載+=操作符

//1.查詢

void test01()

else

//rfind和find的區別:rfind是從右往左查詢

pos = str1.rfind("de");

cout << pos << endl;

}void test02()

int main()

字串比較是按字元的ascii碼進行對比

兩個字串相等返回0;

第乙個字元大於第二個字元返回1;

第乙個字元大於第二個字元返回-1;

字串對比主要是用於比較兩個字串是否相等,判斷誰大誰小的意義不是很大。

#include"pch.h"

#include#include#include#include#includeusing namespace std;

using namespace cv;

void test01()

else if(str1.compare(str2)>0)

else }

int main()

#include"pch.h"

#include#include#include#include#includeusing namespace std;

using namespace cv;

void test01()

//2.通過at方式訪問單個字元

for (int i = 0; i < str1.size(); i++)

cout << endl;

//修改單個字元

//實用例子

void test02()

int main()

C 程式設計入門之七(deque容器)

deque 建構函式 void printdeque const deque int d 用引用的方式定義deque的資料型別 deque 賦值操作 void printdeque const deque int d cout endl void test01 printdeque d1 opera...

C 提高程式設計(2 1) string容器

3.1.1 string基本概念 本質 string和char 區別 特點 string 類內部封裝了很多成員方法 例如 查詢find,拷貝copy,刪除delete 替換replace,插入insert string管理char 所分配的記憶體,不用擔心複製越界和取值越界等,由類內部進行負責 3....

C 提高程式設計 3 1 string容器

3.1.1 string基本概念 本質 string和char 區別 特點 string 類內部封裝了很多成員方法 例如 查詢find,拷貝copy,刪除delete 替換replace,插入insert string管理char 所分配的記憶體,不用擔心複製越界和取值越界等,由類內部進行負責 3....