1、字串copy函式strcpy,實現如下:
#include char *mystrcpy(char *dest,const char *sor)//將源字元sor串拷到目的字串dest
return ret;
}
2、判斷乙個字串中的子字串strstr,實現如下:
#include #include char *mystrstr(char *str_one,char *str_two)//判斷str_two字串是不是str_one字串的子字元 //串
}str_one++;
}return null;
}
3、三種方法實現求取字串長度strlen:
#include //計數器實現strlen
//int mystrlen(const char *dest)
//// return count;
//}//指標實現strlen
//int mystrlen(const char *dest)
//// ret = dest - buff;
// return ret;
//}//遞迴實現strlen
int mystrlen(const char *dest)
dest++;
return 1+mystrlen(dest);
}
4、字串的比較strcmp,**如下:
#include int mystrcmp(const char *cmp1,const char *cmp2)
if(ret>0)
return 1;
else if(ret<0)
return -1;
return 0;
}
5、字串鏈結函式strcat,**如下:
#include char *mystrcat(char *dest,const char *sor)
while(*dest++ =*sor++)
return ret;
}
注意:對於一些特別的符號字串處理函式就不能很好的解決了,比如要複製或鏈結兩個內容都是'\0',這樣就不能很好解決問題。因此就引入了記憶體的複製和移動函式。
6、拷貝函式,memcpy函式,有三個引數,兩個空型別指標(也叫做控制代碼)(表示可以接受任何型別的指標),乙個count字串大小。**如下:
#include void *mymemcpy(void *dest,const void *sor,int count)
return ret;
}
注意這個函式的的缺點:導致內容被覆蓋: ab
cdef
ghij
比如:如果不abcd拷貝到cdef,則會導致cd被ab覆蓋,輸出的結果為:abababghij而不是:ababcdghij
因此引入,memmove函式。
7、memmove函式,拷貝記憶體函式,很好的解決的memcpy的不足,**如下:
#include void *mymemmove(void *dest,const void *sor,int count)
}else
}return ret;
}
常用字串操作函式
strtolower 字串 轉換成小寫 strtoupper 字串 轉換成大寫 ucfirst 字串 首字母大寫 strrev 字串 按位元組翻轉字串,所以中文不能翻轉 strpos 在哪個字串中查詢,需要查詢的字元 查詢某個字元在字串中第一次存在的位置 從左往右 strrpos 在哪個字串中查詢,...
常用字串函式
memset 原型 extern void memset void buffer,int c,int count 用法 include 功能 把buffer所指記憶體區域的前count個位元組設定成字元c。說明 返回指向buffer的指標。舉例 memset.c include include ma...
常用字串函式
獲取檔案目錄 dirname c test web home.php 將字串填充到指定長度 str pad str,10,str pad both 重複指定字串 str repeat 4 按照指定長度將字串分割到陣列中 str split str,4 字串反轉 strrev str 大小寫轉換 st...