| |
| Posted by ryuukk_ in reply to Hipreme | PermalinkReply |
|
ryuukk_
Posted in reply to Hipreme
| On Thursday, 25 January 2024 at 15:22:35 UTC, Hipreme wrote:
> On Thursday, 25 January 2024 at 15:20:01 UTC, ryuukk_ wrote:
> void main()
{
char[32] id = 0;
const(char)* str = "hello";
id = str[0 .. 6];
}
it should be a simple memcpy, why DMD complain?
``onlineapp.d(6): Error: mismatched array lengths 32 and 6 for assignment `id[] = str[0..6]```
I'm too tired to notice something obvious?
You need to slice your id variable to be the required size. You're trying to assign the complete id variable to a slice of size 6.
i.e: that should be used instead id[0..6] = str[0..6]
That's dumb, compiler knows that id has enough room and it should do a simple memcpy, i shouldn't have to do that myself..
i'll stick to calling memcpy.. why stray away from C to do worse
|