C常用的字串函式實現

2022-05-22 11:00:09 字數 1924 閱讀 2296

/**

查詢字串 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...