memcpy_s
mem.h:インデックス への移動
ヘッダー ファイル
mem.h、string.h
カテゴリ
メモリおよび文字列操作ルーチン、インライン ルーチン
プロトタイプ
void _FAR * _RESTRICT __dest, rsize_t __destmax, const void _FAR * _RESTRICT __src, rsize_t __n);
説明
memcpy、_wmemcpy の代わりとなるもので、セキュリティ機能が強化されています。
memcpy は UNIX System V システムで使用可能です。
memcpy_s は __n バイトのブロックを __src から __dest にコピーします。 __src と __dest が部分的に重なる場合、memcpy_s の動作は未定義です。
戻り値
memcpy_s は、成功した場合にはゼロを返し、そうでない場合にはゼロ以外を返します。
例
#include <stdio.h>
#include <string.h>
int main(void)
{
char src[] = "******************************";
char dest[] = "abcdefghijlkmnopqrstuvwxyz0123456709";
printf("destination before memcpy: %s\n", dest);
if(!memcpy_s(dest, strlen(dest), src, strlen(src))){
printf("destination after memcpy: %s\n", dest);
}
else{
printf("memcpy failed\n");
}
return 0;
}
移植性
| POSIX | Win32 | ANSI C | ANSI C++ | |
|---|---|---|---|---|
|
memcpy_s |
+ |
+ |
+ |
+ |