strcpy関数とは?C言語での安全な使い方と代替案

strcpy関数は、ひとつの文字列を別の文字列にコピーするために使用されます。その構文は次のとおりです:

char *strcpy(char *dest, const char *src);

destは、コピー先の文字列であり、srcはコピー元の文字列です。

strcpy関数を使用する際に注意するべきポイントは次のとおりです。

  1. 目標の文字列destは、元の文字列srcの内容と末尾の空白文字を収容するために十分に大きくする必要があります。
  2. 文字列のコピーが完了した後、目的の文字列destはヌル文字 ‘\0’ で終わります。
  3. 元の文字列srcは、文字列定数、文字配列、または文字列へのポインタであることができます。
  4. 戻り値は、目的の文字列destへのポインタを指す。

サンプルコード:

#include <stdio.h>
#include <string.h>

int main() {
    char src[] = "Hello, World!";
    char dest[20];
    
    strcpy(dest, src);
    
    printf("源字符串src:%s\n", src);
    printf("目标字符串dest:%s\n", dest);
    
    return 0;
}

以上のサンプルコードでは、元の文字列「Hello, World!」をターゲット文字列destにコピーし、最終的に2つの文字列の内容を出力します。

bannerAds