namespace std {
void* memset(void* s, int c, size_t n);
}
概要
メモリデータを指定した値で埋める。
効果
sが指すオブジェクトの先頭nバイトのそれぞれに、unsigned charに変換した値cを書き込む。
戻り値
sを返す。
備考
- この関数は、フリースタンディング処理系でも使用できる。
- 機密情報をメモリ上から確実に消去する用途では、書き込みが最適化によって除去されることがあるため、
memset_explicitを使用する。
例
#include <cstring>
#include <iostream>
int main()
{
char buf[6];
// 先頭5バイトを'A'で埋める
std::memset(buf, 'A', 5);
buf[5] = '\0';
std::cout << buf << std::endl;
}
出力
AAAAA
バージョン
言語
- C++98
関連項目
memset_explicit: メモリデータを指定した値で埋める(最適化によって除去されない)memcpy: メモリデータをコピーする
参照
- P2338R4 Freestanding Library: Character primitives and the C library
- C++26で、この関数がフリースタンディング処理系で使用可能になった