【发布时间】:2017-11-18 11:29:02
【问题描述】:
我从一个函数中得到一个指向块(开始时为空)数据的指针。
这个指针是:
char* data;
我的工作是在这个块中插入不同类型的数据。我只知道数据类型(string/int/float)和它们的字节长度。
例如,对于一个插入整数,我想给每个块一个如下形式:
|block_num|age|weight|favorite_number|
所以我的主要问题是,如何将数字插入块并让它们喜欢?我希望数据[3] 每次都能获得体重。
我尝试过使用memset和memcpy,但没有成功。
感谢您的宝贵时间!
【问题讨论】:
-
您想将
int存储在char*指向的地址中? -
如果我理解正确,您希望您的函数返回可能是不同类型的东西(字符串/int/float/etc..)。使用基本指针 'char*' 然后进行强制转换被认为不是类型安全的。我建议您定义将保存“数据”的抽象基类,并为该类定义几个纯虚拟方法。您的函数应返回将以多态方式使用的基类指针。
-
@PazO.: 你说的是
C? -
@coderredoc:我说的是C++实现
-
@PazO.:OP 在
C标签下提出了问题。
标签: c char-pointer