lib: c: implement strcpy and strncpy
This commit is contained in:
26
lib/libc/core/string/strcpy.c
Normal file
26
lib/libc/core/string/strcpy.c
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
char *strcpy(char *output, const char *input)
|
||||||
|
{
|
||||||
|
unsigned int i;
|
||||||
|
for (i = 0; input[i] != 0; i++) {
|
||||||
|
output[i] = input[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
output[i] = '\0';
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
char *strncpy(char *output, const char *input, unsigned int count)
|
||||||
|
{
|
||||||
|
unsigned int size = count;
|
||||||
|
unsigned int i;
|
||||||
|
for (i = 0; i < size; i++) {
|
||||||
|
output[i] = input[i];
|
||||||
|
|
||||||
|
if (input[i] == 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
output[i] = '\0';
|
||||||
|
return output;
|
||||||
|
}
|
||||||
@@ -11,6 +11,9 @@ extern size_t strlen(const char *s);
|
|||||||
extern int strcmp(const char *s1, const char *s2);
|
extern int strcmp(const char *s1, const char *s2);
|
||||||
extern int strncmp(const char *s1, const char *s2, unsigned long n);
|
extern int strncmp(const char *s1, const char *s2, unsigned long n);
|
||||||
|
|
||||||
|
extern int strcpy(const char *s1, const char *s2);
|
||||||
|
extern int strncpy(const char *s1, const char *s2, unsigned long n);
|
||||||
|
|
||||||
extern void *memset(void *str, int c, size_t n);
|
extern void *memset(void *str, int c, size_t n);
|
||||||
extern void *memcpy(void *dst, const void *src, size_t len);
|
extern void *memcpy(void *dst, const void *src, size_t len);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user