Add: strnlen, strncat, safer string functions

This commit is contained in:
xamidev
2024-09-10 20:48:12 +02:00
parent 5e4e6d2db8
commit bf0228d3ac
2 changed files with 33 additions and 0 deletions

View File

@@ -103,3 +103,32 @@ void strcat(char* dest, const char* src)
*dest = '\0'; *dest = '\0';
} }
size_t strnlen(const char* str, size_t max_len)
{
size_t len = 0;
while (*str && len < max_len)
{
len++;
str++;
}
return len;
}
void strncat(char* dest, const char* src, size_t n)
{
while (*dest)
{
dest++;
}
while (*src && n > 0)
{
*dest = *src;
dest++;
src++;
n--;
}
*dest = '\0';
}

View File

@@ -12,4 +12,8 @@ char* strtok(char* str, const char* delimiter);
int atoi(char* str); int atoi(char* str);
void strcat(char* dest, const char* src); void strcat(char* dest, const char* src);
// Safer functions
size_t strnlen(const char* str, size_t max_len);
void strncat(char* dest, const char* src, size_t n);
#endif #endif