Perl在C中解包“S *”等价物

Perl在C中解包“S *”等价物,第1张

概述我正在理解Perl在我正在阅读的一些代码中解压缩,特别是使用S *模板. $data = "FF";print "$data - ", unpack("S*", $data), "\n";# > FF - 17990 > C中的这个等价物是什么? >为什么? 非常感谢您的帮助 你在C中的代码看起来(大致)像这样: const char *data = "FA";unsigned short 我正在理解Perl在我正在阅读的一些代码中解压缩,特别是使用S *模板.

$data = "FF";print "$data - ",unpack("S*",$data),"\n";# > FF - 17990

> C中的这个等价物是什么?
>为什么?

非常感谢您的帮助

解决方法 你在C中的代码看起来(大致)像这样:

const char *data = "FA";unsigned short s;memcpy( &s,data,strlen(data) );printf("%s = %d\n",s);

这仅处理具有两个字符的情况,而解包(‘S *’,…)将返回与其输入对应的短按列表.

为什么?打包和解包的主要动机之一是使二进制数据与C结构更容易交换.

perlpacktut是一个很好的起点.

总结

以上是内存溢出为你收集整理的Perl在C中解包“S *”等价物全部内容,希望文章能够帮你解决Perl在C中解包“S *”等价物所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1245083.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存