如何判断指针指向数据的类型

MagicFuzzX 2014-10-11 05:24:29
这样的,别人传给我一段void* 的buffer,里面的数据有可能是一个int值,也有可能是char*的字符串,我需要对不同的类型做不同处理,如何平判断?
...全文
478 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
模板
modyaj 2014-10-13
  • 打赏
  • 举报
回复
两边协商一下 就是了!让你自己判断 谁会啊!
mlqxj35674 2014-10-13
  • 打赏
  • 举报
回复
问题是有点无聊,看似是技术贴,其实是灌水
快乐鹦鹉 2014-10-13
  • 打赏
  • 举报
回复
对于内存来说,不管你是什么数据,它都是干吧吧的二进制,你怎么能够识别出整型和浮点的区别?BYTE和WORD的区别?必须要有规则才能识别啊
shen_wei 2014-10-13
  • 打赏
  • 举报
回复
或者让对方传递时,增加判断标志位。。
真相重于对错 2014-10-13
  • 打赏
  • 举报
回复
建议学习一下mfc的序列化, 《深入浅出MFC》里面有讲
schlafenhamster 2014-10-13
  • 打赏
  • 举报
回复
类似: __isascii returns a non-zero value if c is an ASCII character (in the range 0x00 – 0x7F).
schlafenhamster 2014-10-13
  • 打赏
  • 举报
回复
“里面的数据有可能是一个int值,也有可能是char*的字符串” 只能 试探。 先 是 (char*) 看看 是不是(除了 0, 8, 10, 13) , 不是 就是 int
SiGoYi 2014-10-13
  • 打赏
  • 举报
回复
void是一个很抽象的类型,一般来说都使用“值+枚举类型”做为一个void* 来传送,“值”一般都是结构体,这样的话可以根据“枚举类型”来判断这个值是什么类型的。就是上面大家所说的协议。 如果没有协议硬判断的话是不行的。
oyljerry 2014-10-13
  • 打赏
  • 举报
回复
你需要自己知道,然后对应的转换。
赵4老师 2014-10-13
  • 打赏
  • 举报
回复
电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址; 人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息……
39457760 2014-10-11
  • 打赏
  • 举报
回复
引用 2 楼 MagicFuzzX 的回复:
[quote=引用 1 楼 shenyi0106 的回复:] 除非你知道buffer里面的内容,你才可以这么做,但是这又是你要做的,所以说,这是个误解的题目。 任何类型都可以被表示成void* 如果非要这么做的话,双方定义协议是必须的
这样的,对方是php程序,我是php扩展,对方没有类型这个概念。。。[/quote] 这么看来,你要自己动手,实现一个PHP的类型系统。
MagicFuzzX 2014-10-11
  • 打赏
  • 举报
回复
引用 1 楼 shenyi0106 的回复:
除非你知道buffer里面的内容,你才可以这么做,但是这又是你要做的,所以说,这是个误解的题目。 任何类型都可以被表示成void* 如果非要这么做的话,双方定义协议是必须的
这样的,对方是php程序,我是php扩展,对方没有类型这个概念。。。
shenyi0106 2014-10-11
  • 打赏
  • 举报
回复
除非你知道buffer里面的内容,你才可以这么做,但是这又是你要做的,所以说,这是个误解的题目。 任何类型都可以被表示成void* 如果非要这么做的话,双方定义协议是必须的

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧