次の方法で共有


_memccpy

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

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

パラメーター

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

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

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

  • カウント
    文字数。

戻り値

文字 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