diff options
Diffstat (limited to 'euler/source/strings')
-rw-r--r-- | euler/source/strings/memcpy.cpp | 14 | ||||
-rw-r--r-- | euler/source/strings/strlen.cpp | 12 |
2 files changed, 26 insertions, 0 deletions
diff --git a/euler/source/strings/memcpy.cpp b/euler/source/strings/memcpy.cpp new file mode 100644 index 0000000..d5a1d6c --- /dev/null +++ b/euler/source/strings/memcpy.cpp @@ -0,0 +1,14 @@ +#include <stdint.h> +#include <cstring> + +namespace std { + + void *memcpy(void *dest, const void *src, size_t count) { + uint8_t *d8 = (uint8_t *)dest; + const uint8_t *s8 = (const uint8_t *)src; + for (size_t i = 0; i < count; ++i) + d8[i] = s8[i]; + return dest; + } + +} diff --git a/euler/source/strings/strlen.cpp b/euler/source/strings/strlen.cpp new file mode 100644 index 0000000..7a6fe2a --- /dev/null +++ b/euler/source/strings/strlen.cpp @@ -0,0 +1,12 @@ +#include <cstring> + +namespace std { + + size_t strlen(const char *str) { + size_t len = 0; + while (str[len]) + ++len; + return len; + } + +} |