トップページ – C言語編 – 標準ライブラリのリファレンス(名前順)
トップページ – C言語編 – 標準ライブラリのリファレンス(ヘッダ別)
| 概要 |
文字列をコピーする。 |
|
| ヘッダ | ||
| 形式 |
char* strcpy(char* restrict s1, const char* restrict s2); |
|
| 引数 |
s1 |
コピー先の配列。 |
|
s2 |
コピー元の文字列。 |
|
| 戻り値 |
s1 を返す。 |
|
| 詳細 |
s1 へ s2 の内容を終端文字を含めてコピーする。 |
|
| 注意 |
s1 が指す配列の大きさが、s2 の文字列の長さに満たないとバッファオーバーフロー📘となる。この結果は未定義📘である。 また、s1 と s2 の領域が部分的に重なり合っているとき、動作は未定義である。 C11 では、これらの危険を検出できる strcpy_s関数が追加されている。 |
|
| 使用例 |
実行結果:
|
|
| 関連 |
strncpy関数は、コピーする文字数を指定できる。C11 ではバッファオーバーフローの危険性を回避できる strcpy_s関数を検討すべきである。 終端文字を無視してコピーをおこなうために、memcpy関数、あるいは memmove関数を使える。 ワイド文字列版の wcscpy関数がある。 |
|
| 解説章 | ||
本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place 管理者に紹介料が支払われています。
( の直後、) の直前に空白を入れない)return 0; を削除(C言語編全体でのコードの統一)
Programming Place Plus のトップページへ
| はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
| X で ポスト/フォロー | LINE で送る | noteで書く |
|
|
管理者情報 | プライバシーポリシー |