非常经典的C字符串函数的实现
生活随笔
收集整理的這篇文章主要介紹了
非常经典的C字符串函数的实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. strlen(),計算字符串長度 1 int strlen(const char string)
2
3 {
4
5 int i=0;
6
7 while(string[i]) i++;
8
9 return i;
10
11 } 2. strcpy(), 字符串拷貝. 1 char *strcpy(char *destination, const char *source)
2
3 {
4
5 while(*destinaton++=*source++);
6
7 return (destination-1);
8
9 } 3. strcat(), 字符串的連接. 1 char *strcat(char *target,const char *source)
2
3 {
4
5 char *original=target;
6
7 while(*target) target++; // Find the end of the string
8
9 while(*target++=*source++);
10
11 return(original);
12
13 } 4. streql(), 判斷兩個字符串是否相等. 1 int streql(char *str1,char *str2)
2
3 {
4
5 while((*str1==*str2)&&(*str1))
6
7 {
8
9 str1++;
10
11 str2++;
12
13 }
14
15 return((*str1==NULL)&&(*str2==NULL));
16
17 } 5. strchr(), 在字符串中查找某個字符. 1 char *strchr(const char *string,int letter)
2
3 {
4
5 while((*string!=letter)&(*string))
6
7 string++;
8
9 return (string);
10
11 } 6. chrcnt(), 計算某個字符在字符串中出現的次數. 1 int chrcnt(const char *string,int letter)
2
3 {
4
5 int count=0;
6
7 while(*string)
8
9 if(*string==letter)count++;
10
11 return count;
12
13 } 7. strcmp(), 判斷兩個字符串是否相等. 1 int strcmp(const char *str1,const char *str2)
2
3 {
4
5 while((*str1==*str2)&&(*str1))
6
7 {
8
9 str1++;
10
11 str2++;
12
13 }
14
15 if((*str1==*str2)&&(!*str1)) //Same strings
16
17 return o;
18
19 else if((*str1)&&(!*str2)) //Same but str1 longer
20
21 return -1;
22
23 else if((*str2)&&(!*str1)) //Same but str2 longer
24
25 else
26
27 return((*str1>*str2)?-1:1);
28
29 }
?
轉載于:https://www.cnblogs.com/trying/archive/2012/08/01/2863770.html
總結
以上是生活随笔為你收集整理的非常经典的C字符串函数的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 离散数学——自动生成真值表、主合取范式
- 下一篇: Windows Phone 资源管理与换