BohYoh.comトップページへ  memmove
C言語 標準ライブラリ アルファベット順索引 ヘッダ別索引 ホームページへ C言語講座のページ

文字列複写関数
memmove
ヘッダ #include <string.h>
形 式 void *memmove(void *s1, const void *s2, size_t n);
機 能 s2が指すオブジェクトの先頭n文字をs1が指すオブジェクトにコピーする。コピー元とコピー先が重なる場合も正しくコピーする。
返却値 s1の値を返す。

■実装例■

void *memmove(void *s1, const void *s2, size_t n) { char *p1 = (char *)s1; const char *p2 = (const char *)s2; if (p1 < p2 && p1 < p2 + n) for (p1 += n, p1 += n; n > 0; n--) /* 後ろからコピー */ *p1-- = *p2--; else for ( ; n > 0; n--) /* 前からコピー */ *p1++ = *p2++; return (s1); }


BohYoh.comトップページへ