Функция memset
Функция memset заполняет заданное количество байтов памяти указанным значением. Первым параметром функция принимает указатель на участок памяти, который нужно заполнить. Вторым параметром - значение, которым заполняется память (приводится к типу unsigned char). Третьим параметром - количество байтов для заполнения.
Синтаксис
void* memset(void* ptr, int value, size_t num);
Пример
Давайте заполним первые 5 байтов массива символов значением 'x':
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char arr[10] = "abcde";
memset(arr, 'x', 5);
cout << arr << endl;
return 0;
}
Результат выполнения кода:
"xxxxx"
Пример
Давайте обнулим весь массив целых чисел с помощью memset:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int arr[5];
memset(arr, 0, sizeof(arr));
for (int i = 0; i < 5; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
0 0 0 0 0