字串操作

2021-08-13 18:50:46 字數 1469 閱讀 2457

用sort對字串排序後,判斷是否相等即可。

class solution

};

//第一種

void func1(string s){}

//第二種

void func2(string &s){}

//第三種

void func3(const

char *s){}

第一種函式宣告,可以接收的呼叫方式有兩種:

string a,b;

a="abcd"

;b="abc"

;func1("abcd","abc");

func1(a,b);

既可接收字串常量,又可接收引用型別

第二種函式宣告,可以接收的呼叫方式只有一種:

string a,b;

a="abcd"

;b="abc"

;func2(a,b);

只能接收引用型別,如果用字元常呼叫的話,編譯器會報如下錯誤:

intellisense:  無法用 "const char [5]" 型別的值初始化 "std::string &" 型別的引用(非常量限定)
第三種函式宣告,可以接收的呼叫方式只有一種:

func3("abcd","abc");
只能接收字串常量型別,如果用字串引用型別的話,編譯器會報如下錯誤:

intellisense:  不存在從 "std::string" 到 "const char *" 的適當轉換函式
要點:考慮到字串為null的情況,否則會異常中斷

string s ="abc";

const

char* c_s = s.c_str();

const

char* c_s ="abc";

string s(c_s);

string s ="abc";

char* c;

const

int len = s.length();

c =new

char[len+1];

strcpy(c,s.c_str());

char* c ="abc";

string s(c);

const

char* cpc ="abc";

char* pc =newchar[100];//足夠長

strcpy(pc,c)

字串操作 靠字串分割字串

字串分解函式。注意strtok比較複雜。要妥善運用!也可以不用strtok函式,但要實現字串靠字串分割比較困難!注意str指向的空間必須是可讀可寫的 如陣列或動態分配的空間 不能為字串常量的指標,因為strtok改變了其中的內容。include include 功能 將str中的字串按照elemon...

字串操作

字串操作 要了解字串操作首先要了解什麼是字串。前面已經提過,字串是乙個由零個或者多個字元組成的有限序列,既然是有限的那麼也就意味著字串存在乙個起始位置和乙個結束位置。我們以指定起始位置的方式來通知程式從該位置起向後的一段記憶體空間的內容應該解釋為字串。那麼這個字串在什麼地方結束呢?規定當遇到字元 0...

字串操作

include using namespace std int strlength char str char strcopy char str1,char str2 char strlink char str1,char str2 int main char strcopy char str1,c...