バッファーから文字をコピーします。
構文
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