字串問題及關於字串的函式

2021-06-27 13:13:09 字數 1212 閱讀 9693

字串問題及關於字串的函式

1,char* strcpy(char* dest, char* src);把src指向的以null結束的字串複製到dest所指的陣列中。函式返回指向dest指標。

注:1,接收字串的陣列或指標所指的記憶體區域一定要大於被複製的字串長度,                        否則系統可能由於字元長度不夠而被惡意修改。

2,dest和src所指向的記憶體區域不可以重疊。

3,函式返回指向dest的指標。

4,複製時會連同字串結束符'\0'一同複製到目的陣列dest中。

5,可以使用引數指定複製字串長度:strcpy(str,"people need not to work on sunday!",10);

將這條字串的前10個字元複製到str中。但在有些編譯器中並不支援這種方式。

6,在工程中,通常以自定義的strcpy函式。

7,strcpy()是覆蓋式的複製,是從起始位置開始覆蓋,如果原來字串夠長,只會從頭開始部分覆蓋。2,

char* strcat(char* dest,char* src);字串連線函式,其使用方法和strcpt()類似。3,

int* strcmp(char* str1,char* str2);功能:對兩字串比較,根據兩者大小返回不同的數值。

注:a,從左到右的順序逐個字元比較,如下:

當str1>str2時,函式返回大於零的數,通常返回值為1

當str14,int strlen(char* str);功能:計算字串長度,不計算結束字元'\0',返回提字串的實際長度

5,若dest為null,使用strcat函式時會產生什麼錯誤?

如果這樣,那麼程式將會崩潰,因此呼叫函式之前務必檢查dest指標或陣列是否為空,若為空,則禁止呼叫strcat函式。

6,若src賦為null,呼叫strcat是否出錯?

會,c語言的strcat對輸入的兩個指標引數都進行了入參的檢測,因此,src為空時的情況同上,都會出現崩潰的情況。

7,若str中的字串長度大於dest定義的長度,呼叫strcat時,是否會出現錯誤?

不會,strcat函式不檢查src和dest的長度匹配,但如果那樣的話,會使記憶體讀寫越界,從而發生嚴重的記憶體洩露。

8,字串比較函式strcmp是否允許兩個輸入引數都為null?

不允許,和所有的字串處理函式一樣,strcmp函式不允許輸入引數為null,若出現這種情況,程式將出現崩潰

字串問題 字串的統計字串

題目 給定乙個字串str,返回str的統計字串。例如,aaabbadddffc 的統計字串為 a 3 b 2 1 d 3 f 2 c 1 補充題目 給定乙個字串的統計字串cstr,再給定乙個整數index,返回cstr所代表的原始字串上第index個字元。例如,a 1 b 100 所代表的原始字串上...

字串及字串的方法

一 字串 js中的任何資料型別都可以當作物件來看。所以string既是基本資料型別,又是物件。二 宣告字串 var sstr 字串 var ostr new string 字串 三 字串屬性 1.length計算字串的長度 不區分中英文 var str hello world console.log...

字串和字串函式

字元輸入輸出 getchar putchar ch getchar putchar ch 字串函式 字串輸入 建立儲存空間 接受字串輸入首先需要建立乙個空間來存放輸入的字串。char name scanf s name 上述的用法可能會導致程式異常終止。使用字串陣列 可以避免上述問題 char na...