Latest web development tutorials

Cライブラリ関数 - MEMMOVE()

C標準ライブラリ -  <string.hの> C標準ライブラリ- <string.hの>

説明

* 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

C標準ライブラリ -  <string.hの> C標準ライブラリ- <string.hの>