/**
查詢字串 source 中 是否有指定的子串出現,如果有返回第乙個匹配的字元
@param source 源
@param chars 目標
@return 返回值
*/char *find_char0(char const *source, char const *chars)
char const *sc1, *sc2;
for (sc1 = source; *sc1 != '\0'; ++sc1) }}
return null;
}/**
字串copy 實現
@param dest 目的字串指標
@param src 源字串指標
@return 返回值
*/char *strcpy_(char *dest, const char *src)
return ret;
}/**
字串拼接
@param dest 目標字串指標
@param src 源字串指標
@return 目標字串作為返回值
*/char *strcat_(char *dest, const char *src)
//拷貝src指向的內容
while ((*dest ++ = *src++))
return ret;
}/**
查詢乙個字元中是否包含某一子串
@param str 給定的長字串
@param substr 子串
@return 是否包含子串 不包含返回null 包含非null
*/char *strstr_(const char *str, const char *substr)
while (*str)
if (*s2 == '\0')
str++;
}return null;
}/**
字串比較
@param str1 字串1
@param str2 字串2
@return 比較結果 >0 = 0 <0
*/int strcmp_(const char* str1, const char *str2)
str1++;
str2++;
}//*str1 > *str2,返回值大於0 ,*str1 = *str2,返回值等於0 ,*str1 < *str2,返回值小於0
return *str1 - *str2;
}/**
記憶體拷貝
@param dest 目標位置
@param src 源位置
@param count 長度 位元組為單位
@return 目的位置位址
*/char *memcpy_(void *dest, const void *src, size_t count)
return ret;
}/**
反向拷貝
@param dest 目的位址
@param src 源位址
@param count 長度 位元組為單位
@return 過程函式,無返回值
*/void *memmove_(void *dest, void *src, size_t count)
}else
}return ret;
}/**
反轉字串實現,不借助新的陣列
@param s 字串
@return 反轉後的字串
*/void *strrev(char *s) ;
t--;//與t++抵消
t--;//往回跳過結束符 '\0'
//當h 和 t未重合時,交換它們所指向的字元
while (hreturn s;
}
實現C字串常用函式
字串長度 int stringlen const char str 字串比較 int stringcompare const char dst,const char src 字串複製 char stringcopy char dst,const char src 字串連線 char stringco...
C 常用的字串處理函式實現
以下是一些標準庫沒有實現的函式,我覺得很方便就寫了,估計會不定時更新。1 根據乙個檔案的路徑獲取檔名 23 std string file name const std string path 47 8910 根據乙個檔案的路徑獲取該檔案的路徑 1112 std string base name c...
C字串函式實現
blog item 7184aa114e1ca3cca6ef3f3c.html 這裡總結了一部分函式 memcpy,memset,memmove,strcpy,strcat,strlen,strcmp,strncmp,strstr 等函式的具體實現過程。ifndef null define null...