digitalmars.D.learn - Windows - ZeroMemory macro
- dnewbie (4/4) May 26 2012 In C I can write
- jerro (6/10) May 26 2012 You could use c memset:
- dnewbie (2/14) May 27 2012 Thank you.
- Andrej Mitrovic (9/13) May 27 2012 I've never had to use this with WinAPI. The default .init value
In C I can write OPENFILENAME ofn; ZeroMemory(&ofn, sizeof(ofn)); In D, there is no ZeroMemory. Please help me.
May 26 2012
On Sunday, 27 May 2012 at 03:29:17 UTC, dnewbie wrote:In C I can write OPENFILENAME ofn; ZeroMemory(&ofn, sizeof(ofn)); In D, there is no ZeroMemory. Please help me.You could use c memset: import std.c.string; memset(cast(void*)&ofn, 0, ofn.sizeof); or this: (cast(byte*)& a)[0 .. a.sizeof] = 0;
May 26 2012
On Sunday, 27 May 2012 at 03:55:58 UTC, jerro wrote:On Sunday, 27 May 2012 at 03:29:17 UTC, dnewbie wrote:Thank you.In C I can write OPENFILENAME ofn; ZeroMemory(&ofn, sizeof(ofn)); In D, there is no ZeroMemory. Please help me.You could use c memset: import std.c.string; memset(cast(void*)&ofn, 0, ofn.sizeof); or this: (cast(byte*)& a)[0 .. a.sizeof] = 0;
May 27 2012
On 5/27/12, dnewbie <run3 myopera.com> wrote:In C I can write OPENFILENAME ofn; ZeroMemory(&ofn, sizeof(ofn)); In D, there is no ZeroMemory. Please help me.I've never had to use this with WinAPI. The default .init value usually works well, especially if the struct is well-defined, e.g.: struct Foo { int x; // default 0-initialized float y = 0; // without this y would be NaN by default } I think all bits will be set to 0 for a 'Foo' instance.
May 27 2012