memset

Функция memset заполняет буфер указанным символом.

void *memset( void *dest, int c, size_t count );

Эта функция определена в memory.h и string.h.

Параметры:

  • dest - указатель на буфер
  • c - символ заполнения
  • count - количество символов

Пример использования данной функции для заполнения строчного буфера:

#include "stdafx.h"
#include "string.h"
#include "stdio.h"
#include "iostream.h"

struct MyStruct
{
char test[4];
int i;
};

void main()
{
char buffer[9];
strcpy(buffer,"123456789");
cout << buffer << " not memcpy" << endl;
memset(buffer,'1',sizeof(buffer));
cout << buffer << " memset" << endl;
}

Так же эту функцию можно применять для обнуления структур.

#include "stdafx.h"
#include "string.h"
#include "stdio.h"
#include "iostream.h"

struct MyStruct
{
char test[5];
int i;
};

void main()
{
MyStruct mm;
strcpy(mm.test,"hello");
mm.i=5;
cout << mm.i << " " << mm.test << " not memset " << endl;
memset(&mm,0,sizeof(mm));
cout << mm.i << " " << mm.test << "memset " << endl;
}