From 9ed0c06de64b7bd6f5390c4f5972ac0578c0f858 Mon Sep 17 00:00:00 2001 From: haturatu Date: Thu, 12 Dec 2024 19:39:56 +0900 Subject: wip --- a | Bin 0 -> 15656 bytes memchr.c | 16 ++++++++++++++++ memcmp.c | 15 +++++++++++++++ memcpy.c | 15 +++++++++++++++ memmove.c | 19 +++++++++++++++++++ 5 files changed, 65 insertions(+) create mode 100755 a create mode 100644 memchr.c create mode 100644 memcmp.c create mode 100644 memcpy.c create mode 100644 memmove.c diff --git a/a b/a new file mode 100755 index 0000000..c3ca5c3 Binary files /dev/null and b/a differ diff --git a/memchr.c b/memchr.c new file mode 100644 index 0000000..ec05235 --- /dev/null +++ b/memchr.c @@ -0,0 +1,16 @@ +#include +#include + +int main() +{ + char *ptr; + char str[] = "test"; + + ptr = memchr(str ,'s', strlen(str)); + if (ptr != NULL) { + printf("文字「s」の場所: %ld\n", ptr - str + 1); + } else { + printf("文字「s」は見つかりませんでした。\n"); + } + // => 文字「s」の場所: 3 +} diff --git a/memcmp.c b/memcmp.c new file mode 100644 index 0000000..e9ad5b7 --- /dev/null +++ b/memcmp.c @@ -0,0 +1,15 @@ +#include +#include + +int main() +{ + char str1[5] = "test"; + char str2[5] = {'t', 'e', 's', 't', '\0'}; + + if (memcmp(str1, str2, 5*sizeof(char)) == 0) { + printf("str1とstr2は同じです。\n"); + } else { + printf("str1とstr2は異なります。\n"); + } + // => str1とstr2は同じです。 +} diff --git a/memcpy.c b/memcpy.c new file mode 100644 index 0000000..2131ef6 --- /dev/null +++ b/memcpy.c @@ -0,0 +1,15 @@ +#include +#include + +int main() +{ + char str1[10] = "Hi johnny"; + char str2[10] = {0}; + if (memcpy(str2, str1, strlen(str1))) { + printf("コピー元: %s\nコピー先: %s\n", str1, str2); + // コピー元: Hi johnny + // コピー先: Hi johnny + } else { + fprintf(stderr, "Error while coping str1 into str2.\n"); + } +} diff --git a/memmove.c b/memmove.c new file mode 100644 index 0000000..f766ad0 --- /dev/null +++ b/memmove.c @@ -0,0 +1,19 @@ +#include +#include + +int main() +{ + char str[20] = "abc,def"; + + printf("memmove()実行前\n"); + printf("%s\n", str); + /// => abc,def + + if (memmove(str+4, str, strlen(str))) { + printf("memmove()実行後\n"); + printf("%s\n", str); + // => abc,abc,def + } else { + fprintf(stderr, "エラー発生\n"); + } +} -- cgit v1.2.3