對於字串,編譯器為我們提供了一些庫函式以方便我們對其的操作,下面我們將對一些常用的字串庫函式進行簡單介紹,並自我實現這些方法。<1>strcopy()
函式原型:char *strcpy(char* dest, const char *src);
說明:src和dest所指記憶體區域不可以重疊且dest必須有足夠的空間來容納src的字串。
自我實現:
<2>strlen()char *mystrcopy(char *dest,const char *src) //字串拷貝
return p;
}
函式原型:unsigned int strlen(char *s);
功能:計算給定字串的(unsigned int型)長度,不包括'\0'在內。
說明:返回s的長度,不包括結束符null。
自我實現:
<3>strcat()unsigned int mystrlen(const char *str) //字串長度
return count;
}
函式原型:char *strcat(char *dest, const char *src);
功能:把src所指向的字串(包括「\0」)複製到dest所指向的字串後面(刪除*dest原來末尾的「\0」)。要保證*dest足夠長,以容納被復 制進來的*src。*src中原有的字元不變。返回指向dest的指標。
說明:src和dest所指記憶體區域不可以重疊且dest必須有足夠的空間來容納src的字串。
自我實現:
<4>strcmp()char *mystrcat(char *dest,const char *src,int len) //字串連線
char *p = dest;
const char *q = src;
while(*p != '\0')
while(*q != '\0')
*p = '\0';
return dest;
}
函式原型:int strcmp(const char *s1,const char *s2);
功能:比較兩個字串的大小。
說明:當s1當s1==s2時,返回值= 0;
當s1>s2時,返回正數。
即:兩個字串自左向右逐個字元相比(按ascii值大小相比較),直到出現不同的字元或遇'\0'為止。
自我實現:
<5>strncopy()int mystrcmp(const char *dest, const char *src) //字串比較
return *dest - *src;
}
函式原型:char *strncpy(char* dest, const char *src,size_t n);
功能:把src指向的字串的前size_t n個字元(不包括\0,\0得自己手動加在*dest被複製之後)複製到dest指向的字串中。如果要複製的*src的部分有\0,就把\0複製進去,之後就提前結束,即使沒複製到第size_t n個字元也是。返回指向*dest的指標。
自我實現:
<6>strncmp()char *mystrncpy(char *dest,const char *src,size_t count) //count+1個字元賦值
return dest;
}
函式原型:int strncmp ( const char * str1, const char * str2, size_t num );
功能:比較str1所指向的字串和str2所指向字串前n個位元組的大小。
自我實現:
<7>strncat()int mystrncmp(const char *string1,const char *string2,size_t count ) //比較前count個字元
if(*string1 - *string2 <0)
string1++;
string2++;
count--;
} return 0; //表示*string1 = *string2
}
函式原型:char * strncat(char *dest, const char *src, size_t n);
功能:把src所指字串的前n個字元新增到dest所指字串的結尾處,並覆蓋dest所指字串結尾的'\0',從而實現字串的連線。
說明:src和dest所指記憶體區域不可以重疊,並且dest必須有足夠的空間來容納src的字串。
自我實現:
char *my_strncat(char *dest,const char *src,size_t count ) //將src前count連線到dest
*p = '\0';
return dest;
}
C語言字串庫函式的實現
c語言字串庫函式的實現也是筆試題常考的題目,以下 沒有嚴格測試,只是簡單的實現 字串長度 int strlen const char str 字串拷貝 char strcpy char to,const char from strncpy 如果from指向的字元個數少於count,則用 0 補齊 c...
C語言字串庫函式的實現
c語言字串庫函式的實現也是筆試題常考的題目,以下 沒有嚴格測試,只是簡單的實現 字串長度 int strlen const char str 字串拷貝 char strcpy char to,const char from strncpy 如果from指向的字元個數少於count,則用 0 補齊 c...
C語言字串庫函式的實現
1.strlen 字串的長度 size t strlen const char str size t strlenbyrecursion const char str size t cdecl strlen const char str 函式庫裡面實現的 2.strcpy 字串拷貝 char str...