『新・明解C言語 入門編 第2版』演習問題解答例 11ー4

演習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;
}

コメント

 特になし。

 


書籍情報


コメント

タイトルとURLをコピーしました