🔧 文字列 ・ string.h ・ C89
strcpy の使い方char *strcpy(char *dest, const char *src);
文字列をコピー先バッファへコピーする。コピー先のサイズを一切考慮しないため、コピー元がコピー先より長いとバッファオーバーフローを起こす、標準ライブラリの中でも代表的な危険関数。 C11のAnnex Kやコンパイラ独自拡張の"安全な"strcpy系関数も合わせて知っておくと選択肢が広がる。
#include <stdio.h>
#include <string.h>
int main(void) {
char dest[16];
strcpy(dest, "hello");
puts(dest);
return 0;
}
⚠️ コピー先のサイズチェックが無いため、実務ではstrncpyやsnprintf("%s")、C11 Annex Kのstrcpy_sなど長さを指定できる手段を使う。
アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ
strcpy と一緒に使う関数memcmp
memcpy
memmove
memset
memset_explicit
strcat
strchr
strcmp
strcoll
strcspn
strdup
strerror
strlen
strncat
strncmp
strncpy
もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。