C/C++ ポインタ入門 > 文字列関数 > strcpy
Nobuhide Tsuda
Nov-2013
文字列コピー:void my_strcpy(char *dst, const char *src)
void my_strcpy(char *dst, const char *src)
{
while( (*dst++ = *src++) != '\0' ) {
}
}
解説:
- src ポインタの指す値を dst ポインタの位置にコピーします。
- dst, src はポストインクリメントを行い、先に進めつつコピーします。
- 終端記号であるヌル文字('\0')をコピーした時点でループを終了します。
- ポインタのポストインクリメントを使わず、下記のように記述することも可能ですが、上記のように記述する方が簡潔で優れています。
void my_strcpy(char *dst, const char *src)
{
while( (*dst = *src) != '\0' ) {
++dst;
++src;
}
}
前:
| 次: