_memccpy

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

構文

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

パラメーター

dest
ターゲットへのポインター。

src
ソースへのポインター。

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

count
文字数。

戻り値

文字 c がコピーされた場合、 _memccpy は文字の直後にある dest の char へのポインターを返します。 cがコピーされていない場合は、NULLを返します。

解説

_memccpy関数は、srcの 0 個以上の文字をdestにコピーし、文字cがコピーされたとき、またはcount文字がコピーされたときに、どちらか早い方に停止します。

セキュリティに関するメモ コピー先のバッファーのサイズがソース バッファー以上であることをご確認ください。 詳細については、「バッファー オーバーランの回避」を参照してください。

要件

ルーチンによって返される値 必須ヘッダー
_memccpy <memory.h> または <string.h>

互換性の詳細については、「 Compatibility」を参照してください。

ライブラリ

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

関連項目

バッファー操作
memchr, wmemchr
memcmp, wmemcmp
memcpy, wmemcpy
memset, wmemset