mirror of
https://github.com/tailix/libkernaux.git
synced 2025-02-24 15:55:41 -05:00
Main: libc/include/string.h: Add func "strncat"
This commit is contained in:
parent
26376584ac
commit
78b9c0b9cd
2 changed files with 16 additions and 0 deletions
|
@ -16,6 +16,7 @@ char *strcat(char *dest, const char *src);
|
|||
int strcmp(const char *s1, const char *s2);
|
||||
char *strcpy(char *dest, const char *src);
|
||||
size_t strlen(const char *s);
|
||||
char *strncat(char *dest, const char *src, size_t n);
|
||||
int strncmp(const char *s1, const char *s2, size_t n);
|
||||
char *strncpy(char *dest, const char *src, size_t n);
|
||||
size_t strnlen(const char *s, size_t maxlen);
|
||||
|
|
|
@ -78,6 +78,21 @@ size_t strlen(const char *s)
|
|||
return ss - s;
|
||||
}
|
||||
|
||||
char *strncat(char *dest, const char *src, size_t n)
|
||||
{
|
||||
char *const dest_start = dest;
|
||||
if (n) {
|
||||
while (*dest++);
|
||||
while ((*dest++ = *src++)) {
|
||||
if (--n == 0) {
|
||||
*dest = '\0';
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return dest_start;
|
||||
}
|
||||
|
||||
int strncmp(const char *s1, const char *s2, size_t n)
|
||||
{
|
||||
for (; *s1 && n; ++s1, ++s2, --n) if (*s1 != *s2) return *s1 < *s2 ? -1 : 1;
|
||||
|
|
Loading…
Add table
Reference in a new issue