- Memset
-
memset
memset — функция стандартной библиотеки языка C, для заполнения буфера указанным символом.
Функция
Прототип, описанный в заголовочном файле
memory.h
иstring.h
.void *memset( void *dest, int c, size_t count );
dest
— указатель на буфер.c
— символ заполнения.count
— количество символов.
Пример использования
#include "stdafx.h" #include "string.h" #include "stdio.h" #include "iostream" #include "conio.h" using namespace std; struct MyStruct { char test[4]; int i; }; void main() { char buffer[10]; strcpy(buffer,"123456789"); cout << buffer << " not memcpy" << endl; memset(&buffer,'1',(sizeof(buffer)-1)); cout << buffer << " yes memset" << endl; _getch(); }
Так же эту функцию можно применять для обнуления структур:
#include "stdafx.h" #include "string.h" #include "stdio.h" #include "iostream" #include "conio.h" using namespace std; 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 << " yes memset " << endl; _getch(); }
Wikimedia Foundation. 2010.