Share via


_memccpy

更新 : 2007 年 11 月

バッファから文字をコピーします。

void *_memccpy(
   void *dest,
   const void *src,
   int c,
   size_t count 
);

パラメータ

  • dest
    対象となるバッファへのポインタ。

  • src
    コピー元へのポインタ。

  • c
    コピーする最後の文字。

  • count
    文字数。

戻り値

文字 c をコピーすると、_memccpy 関数はその文字の直後にある dest 内の文字へのポインタを返します。文字 c がコピーされなかった場合は、NULL を返します。

解説

_memccpy 関数は、src が指す位置から 0 以上の文字を dest が指す位置にコピーします。文字 c をコピーするか、count に指定された文字数をコピーした時点で、処理が中断します。

セキュリティに関するメモ 対象のバッファのサイズが、コピー元のバッファのサイズ以上であることを確認してください。詳細については、「Avoiding Buffer Overruns」を参照してください。

必要条件

ルーチン

必須ヘッダー

_memccpy

<memory.h> または <string.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

ライブラリ

C ランタイム ライブラリのすべてのバージョン。

使用例

// crt_memccpy.c

#include <memory.h>
#include <stdio.h>
#include <string.h>

char string1[60] = "The quick brown dog jumps over the lazy fox";

int main( void )
{
   char buffer[61];
   char *pdest;

   printf( "Function: _memccpy 60 characters or to character 's'\n" );
   printf( "Source: %s\n", string1 );
   pdest = _memccpy( buffer, string1, 's', 60 );
   *pdest = '\0';
   printf( "Result: %s\n", buffer );
   printf( "Length: %d characters\n", strlen( buffer ) );
}

出力

Function: _memccpy 60 characters or to character 's'
Source: The quick brown dog jumps over the lazy fox
Result: The quick brown dog jumps
Length: 25 characters

.NET Framework の相当するアイテム

参照

参照

バッファ操作

memchr、wmemchr

memcmp、wmemcmp

memcpy、wmemcpy

memset、wmemset