『新・明解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;
}

コメント

 特になし。

 


書籍情報



Copyright (C) 2016 "HYOGOKURUMI" All Rights Reserved./「来未炳吾・平極ルミ・HYOGOKURUMI」の発達障害考察を主とした全ての発信は、相互不干渉など特別な約束をした者達を除き、どなたでもご活用できます。ただし著作権は放棄しておりません。あしからずご了承ください。詳細は著作権に関するガイドラインをご一読ください。/「HYOGOKURUMI.site」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。