C語言學習筆記之常用的字串處理函式

2021-06-28 16:51:42 字數 1277 閱讀 7317

1.字串複製函式:strcpy

char *stpcpy(char *to, char *from); 

2.字串連線函式:strcat 

char *strcat(char *to, char *from); 

該函式會將字串from連線在字串to後面,這樣,字串to的長度會有所增加,最後返回字串to的指標。字串to所在的字元陣列應該有足夠的記憶體空間來容納字串from,否則會出現記憶體越界的錯誤。但是有時候即使字串to所在的字元陣列記憶體空間不夠大,也不會發生錯誤。這是因為變數在記憶體中的位置很稀疏,如果字元陣列後的一塊記憶體並沒有被其他變數等占用,程式便僥倖不會出錯,但如果該塊記憶體不巧已經被分配,程式可能因此而崩潰。

strncat

char *strncat(char *to, char *from, int n);

該函式會從字串from中拷貝n個位元組連線在字串to後面。

3.字元定位函式:strchr 

char *strchr(char *str, char c);

查詢字串str中首次出現字元c的位置,如果找到,返回對應字元的指標,如果未找到則返回null。

注意:第乙個引數不一定要求是字串的首位址,可以從字串的任意位置開始向後檢索,如:

char str[10] = "hello world";

char *p = strchr(str+5, 'o');

4.字串比較函式:strcmp 

int strcmp(char *str1, char *str2); 

逐個比較字元的ascii碼,ascii碼大者更「大」;如果兩個字串長度不一樣,但是前面的字元都相同,則更長的那個字串更「大」。str1大於str2,返回值大於0,str1小於str2,返回值小於0,str1等於str2,返回值等於0。

strncmp

int strncmp(char *str1, char *str2, int n);

比較字串的前n個字元。

5.字串查詢函式:strstr 

char *strstr(char *str1, char *str2);

在字串str1中查詢字串str2首次出現的位置,返回首次出現的指標;如果未找到則返回null。

6.字串逆轉函式:strrev 

char *strrev(char *str);  

將字串逆轉。

7. strset

char *strset(char *str, char c); 

將字串str中的所有字元都設為指定字元c。

C語言學習之 字串函式

字串輸入輸出 字串函式 緩衝區 檔案結尾 檔案作業系統需要某種方式來判斷那檔案的結尾,可能是特殊標記,可能是根據檔案大小資訊,但無論是什麼規則 gets fgets strlen test fit.c 使用縮短字串長度的函式 strcat與strncat strcmp與strncmp strcpy ...

C語言學習之字串 替換空格

函式 char replace blank char source 功能 將字串中的空格替換為 20 的字串。思路 while 字串未到末尾 0 如果沒有空格符,則再向後移位判斷 難點 涉及到的子函式較多,由於陣列插入操作本身就是需要移位再插入,需要基本的子函式進行操作。涉及continue的使用。...

C語言學習 字串

字串宣告 char 變數名 數量 示例 include intmain printf 輸出字串ch2 s n ch2 方法3 char ch3 省略字串長度,長度編譯器在編譯時會幫忙計算 printf 輸出字串ch3 s n ch3 方法4 char ch4 name 此時末尾不需要加上 0 大括號...