gpt4 book ai didi

c - 写入 C 中给定的 void* 内存位置

转载 作者:太空宇宙 更新时间:2023-11-04 00:27:23 25 4
gpt4 key购买 nike

我有一个函数,它的参数之一是“void* buffer”。在这个函数中,我需要写入那个内存位置。但是,做类似的事情

*buffer = "Hello\0Hi\0";

不起作用,因为我无法取消引用 void* 指针。如何将 a string 数据放入该内存位置?请注意,我需要复制数据,不一定是字符串,因为它可能包含空字符。

已更新以反射(reflect) strcpy 还不够

最佳答案

如果您的字符串“可能包含空字符”,那么它就不是真正的 C 字符串。

如果您需要将一定数量的字节从一个内存位置复制到另一个内存位置,而不管内容如何,​​您可以使用memcpy。您可以使用 sizeof 获取字符串文字的大小(此大小包括最终的隐式空终止符)。

关于c - 写入 C 中给定的 void* 内存位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4092861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com