memset ist definiert in der string
, die in C über string.h
, bzw. in C++ über cstring
eingebunden wird.
Initialisiert bzw. überschreibt einen Speicherblock mit dem übergebenen Wert value
. Obwohl ein Integer übergeben wird, werden nur die unteren 8 Bit als Wert übernommen. Dies entspricht einem unsigned char, welches byteweise in den Speicher geschrieben wird.
#include <string.h> char * memset( char * target, int value, size_t size );
target: Zielspeicherblock bzw. C-String
value: Byte, dass zum überschrieben benutzt wird
size: Anzahl zu kopierender Chars (Der Typ size_t
entspricht i.d.R. int))
Return value: Die Rückgabe entspricht target
.
#include <stdio.h> #include <string.h> int main () { char target[21] = "01234567890123456789"; memset( target, '0', 20 ); printf( "'%s'\n", target ); return 0; }
Ausgabe:
'00000000000000000000'