演習11ー4
問: strcpy関数およびstrncpy関数と同じ仕様の関数を作成せよ。
// Ex1104.c
#include <stdio.h>
char *scpy(char *s1, const char *s2, size_t n)
{
char *tmp = s1;
while (n) {
if (!(*s1++ = *s2++)) break;
n--;
}
while (n--)
*s1++ = '\0';
return tmp;
}
int main(void)
{
char str1[128] = "1234567";
char str2[128];
int n;
printf("コピー先の文字列:\"%s\"\n", str1);
printf("コピー元の文字列:");
scanf("%s", str2);
printf("%sの先頭から何文字をコピーしますか:", str2);
scanf("%d", &n);
printf("コピー結果:\"%s\"\n", scpy(str1, str2, (size_t) n));
return 0;
}
コメント
特になし。
書籍情報
コメント