Cライブラリ関数 - MEMMOVE()
説明
* MEMMOVE(* str1は、ボイド、ボイドのCライブラリ関数のconst void *型str2を、size_tのn個)のmemcpy()より安全な方法よりも、STR2からSTR1にコピーn文字が、この点でメモリ・ブロックを重複MEMMOVE()。標的領域とソース重なり領域は、その後、MEMMOVE()は、ターゲット領域にコピー重複バイト領域で覆われる前に、ソース文字列は、コピーされたソース領域の内容が変更されることを保証する場合。 標的領域とソース領域が重複しない場合は、とのmemcpy()関数は、同じ関数です。
声明
ここでMEMMOVE()関数の宣言です。
void *memmove(void *str1, const void *str2, size_t n)
パラメータ
- str1は- *ポインタを無効にするには、型キャストをコピーしたコンテンツを格納するための先の配列をポイントします。
- STR2 - *ポインタを無効にするために、データソース、型キャストをコピーするポインティング。
- N -バイト数がコピーされます。
戻り値
この関数は、先の店舗のstr1ポインタへのポインタを返します。
例
次の例は、MEMMOVE()関数が使用されて実証します。
#include <stdio.h> #include <string.h> int main () { const char dest[] = "oldstring"; const char src[] = "newstring"; printf("Before memmove dest = %s, src = %s\n", dest, src); memmove(dest, src, 9); printf("After memmove dest = %s, src = %s\n", dest, src); return(0); }
それでは、以下になります上記のプログラムを、コンパイルして実行してみましょう:
Before memmove dest = oldstring, src = newstring After memmove dest = newstring, src = newstring