- This wiki is out of date, use the continuation of this wiki instead
Memsetw
From FenixWiki
(Difference between revisions)
Revision as of 22:40, 27 April 2007 (edit) Sandman (Talk | contribs) m ← Previous diff |
Revision as of 00:32, 28 April 2007 (edit) (undo) Sandman (Talk | contribs) m Next diff → |
||
Line 3: | Line 3: | ||
==Definition== | ==Definition== | ||
- | '''INT''' memsetw ( <''' | + | '''INT''' memsetw ( <'''VOID POINTER''' data> , <'''WORD''' value> , <'''INT''' words> ) |
Sets all words in a certain memory block to a certain value. | Sets all words in a certain memory block to a certain value. | ||
Line 9: | Line 9: | ||
== Parameters == | == Parameters == | ||
{| | {| | ||
- | | ''' | + | | '''VOID POINTER''' data || - Pointer to the block of words in memory. |
|- | |- | ||
| '''WORD''' value || - Value to set all words to. | | '''WORD''' value || - Value to set all words to. | ||
Line 67: | Line 67: | ||
</pre> | </pre> | ||
Used in example: [[alloc]](), [[memset]](), [[say]](), [[pointer]] | Used in example: [[alloc]](), [[memset]](), [[say]](), [[pointer]] | ||
- | Also usable in conjunction with [[map_buffer]]() with 16bit | + | |
+ | Also usable in conjunction with [[map_buffer]]() with 16bit [[map]]s. (''Example needed.'') |
Revision as of 00:32, 28 April 2007
Contents |
Definition
INT memsetw ( <VOID POINTER data> , <WORD value> , <INT words> )
Sets all words in a certain memory block to a certain value.
Parameters
VOID POINTER data | - Pointer to the block of words in memory. |
WORD value | - Value to set all words to. |
INT words | - Number of words to change the value of. |
Returns
INT : true
Example
Program example; Private byte pointer pbyte; word pointer pword; int pointer pint; int elements = 10; int i; Begin // Allocate memory pbyte = alloc(elements); pword = alloc(elements*sizeof(word)); pint = alloc(elements*sizeof(int)); // Reset memory to 0's memset (pbyte,0,elements); memsetw(pword,0,elements); // same as memset(pword,0,elements*sizeof(word)); // because value-parameter is 0. memset (pint ,0,elements*sizeof(int)); // There isn't a "memseti()", so we need to // set the individual bytes to 0. To change // ints to nonzero values, memset() can't be // used easily // Write numbers to bytes and ints for(i=0; i<elements; i++) pbyte[i] = 133; // pbyte[i] is the same as *(pbyte+i) *(pint+i) = 4555; // pint[i] is the same as *(pint+i) end // Write numbers to words memsetw(pword,345,elements); // Show numbers for(i=0; i<elements; i++) say("byte["+i+"] = " + *(pbyte+i)); say("word["+i+"] = " + pword[i]); say("int ["+i+"] = " + pint[i]); end Loop frame; End End
Used in example: alloc(), memset(), say(), pointer
Also usable in conjunction with map_buffer() with 16bit maps. (Example needed.)