int strlen(const char* string)
①参数
②返回值
③注意事项
strlen的模拟实现 - my_strlen
int my_strlen(const char* string) {
assert(string != NULL);
int count = 0;
while (*string) {
string++;
count++;
}
return count;
}
将src拷贝在des中
char* my_strcpy(char* des, const char* src)
①参数
②返回值
③注意事项
strcpy的模拟实现 - my_strcpy
char* my_strcpy(char* des, const char* src) {
assert(des != NULL);
assert(src != NULL);
char* ret = des;
while (*des = *src) {
des++;
src++;
}
return ret;
}
将size大小的src拷贝到des中
char* my_strcpy(char* des, const char* src,size_t size)
①参数
②返回值
将src追加到des后面
char* my_strcat(char* des, const char* src)
①参数
②返回值
③注意事项
strcat的模拟实现 - my_strcat
char* my_strcat(char* des, const char* src) {
assert(des != NULL);
assert(src != NULL);
char* ret = des;
while (*des) {
des++;
}
while (*des++ = *src++) {
}
return ret;
}
将固定大小的src追加在des后面
char* my_strncat(char* des, const char* src,size_t size)
①参数
②返回值
③注意事项
比较2字符串的ASCII值(一个字符一个字符比较,若相同,找下一个)
int my_strcmp(const char* str1, const char* str2)
①参数
strcmp的模拟实现 - my_strcmp
int my_strcmp(const char* str1, const char* str2) {
while (*str1 == *str2) {
if (*str1 = '\0') {
return 0;
}
str1++;
str2++;
}
return *str1 - *str2;
}
比较2字符串size长度的ASCII值
int my_strcmp(const char* str1, const char* str2,size_t size)
①参数
将str2在str1中查找,并输出str2及之后的字符串
char* my_strstr(const charstr1, const charstr2)
①参数
②返回值
③注意事项
strstr的模拟实现 - my_strstr
char* my_strstr(const char*str1, const char*str2) {
const char* cp = str1;
const char* c = str2;
const char* s1 = str1;
const char* s2 = str2;
while (*cp) {
s1 = cp;
s2 = c;
while (*s1 == *s2 && *s1 && *s2) {
s1++;
s2++;
}
if (*s2 == '\0') {
return (char*)cp;
}
cp++;
}
return NULL;
}
在str1里查找stm(str2为各种字符,例:@),并记录初始地址
char * strtok ( char * str, const char * sym )
①参数
②返回值
③注意事项
strtok的应用举例:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
int main()
{
char str[] = "- This, a sample string.";
char* pch;
printf("Splitting string \"%s\" into tokens:\n", str);
pch = strtok(str, ",.-");
while (pch != NULL)
{
printf("%s\n", pch);
pch = strtok(NULL, " ,.-");
}
return 0;
}
char * strerror ( int errnum );
①参数
②返回值
③注意事项
const charstrchr(const char str,int character)
①参数
②返回值