注意加頭檔案 #include<string.h>
1.strlen
size_t strlen(const char *str);
功能:計算字串 str 的長度
說明:直到'\0'字符,但不包括'\0'字符
回傳值:字串 str 的長度
2.strcmp 與 strncmp
int strcmp(const char *str1,const char *str2);
int strncmp(const char *str1,const char *str2,size_t n);
功能:比較字串 str1 與 str2
說明:將兩個字串自左向右逐個字符相比較(按照 ASCII 值大小),直到出現不同的字符或'\0' 為止( strncmp 最多比較前 n 個位元組)
回傳值:
- 若 回傳值< 0,則 str1 < str2
- 若 回傳值> 0,則 str1 > str2
- 若 回傳值= 0,則 str1 = str2
3.strcpy 與 strncpy
char *strcpy(char *dest,const char *src);
char *strncpy(char *dest,const char *src,size_t n);
功能:將源串 src 拷貝到終串 dest 中
說明:包括'\0',但 dest 必須有足夠的空間來容納 src( strncpy 最多拷貝 n 個字符)
應用:利用 strncpy 截取字串,例如:
拷貝"123456789"中的"456"
char dest[4] = {0};
char src[] = "123456789";
strncpy(dest, src+3, 3);
puts(dest);
輸出
456
4.strcat
char *strcat(char *dest, const char *src);
功能:把源串 src 追加到終串 dest 的結尾
說明:覆寫原有的'\0',并添加'\0',但 dest 必須有足夠的空間來容納 src
回傳值:一個指向 dest 的指標
5.memset
void *memset(void *str, int c, size_t n);
功能:將字串 str 的前 n 個位元組的值設為 c
說明:逐位元組賦值,在給char以外的陣列賦值時,只能初始化為0或者-1
回傳值:一個指向 str 的指標
注意:memeset 函式只能對連續的記憶體初始化
- 對于直接宣告的多維陣列,如a[5][5],其記憶體是連續的,可以使用 memset 初始化
- 對于動態宣告的多維陣列,如使用 malloc 函式,其記憶體可能不連續,不能用 memset 初始化
參考資料:C標準庫-<string.h>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/49379.html
標籤:C
