问题标签 [variable-length]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2156 浏览

php - 通过 PHP 的 Unpack 函数读取结构中的结构

我想知道如何通过 php 的unpack函数读取结构中的结构。当我得到一个 IS_MCI 数据包时,我检查它的类型以确保它等于 ISP_MCI,然后我检查 NumC 以找出该数据包中有多少 CompCar 结构。问题是试图通过单个函数将这些内容解压缩到一个数组中。我总是得到一个未定义的偏移量。所以,我正在寻找一些关于此事的新观点。

你会如何处理这个数据包?

有问题的结构是这样的:

0 投票
2 回答
2315 浏览

c++ - C ++ qsort指针数组未排序

我正在尝试在 C++ 中按字母顺序对充满可变长度记录的缓冲区进行排序。我之前问过如何实现这一点,并被告知要对指向记录的指针数组进行排序。我设置了一个指针数组,但意识到每个指针都指向记录的开头,但无法知道记录何时停止。当我尝试打印出数组中每个指针所指向的记录时,因此,对于每个指针,我都会得到所有记录的整个缓冲区,从指向的那个开始。(例如,如果缓冲区包含“Helloworld”,并且每个字母都有一个指针,则打印指针数组将产生“Helloworldelloworldlloworldloworldoworldworldorldrldldd”。)显然,这不是我想要的;此外, qsort 似乎也没有在指针数组上工作。当我调试时,指针指向的内存空间似乎包含非常奇怪的字符,这些字符绝对不属于 ascii 字符集,也不包含在我的输入文件中。我很困扰。以下是我的代码;我怎么能做到这一点而不会得到我现在得到的奇怪结果?非常感谢,bsg。

0 投票
2 回答
1608 浏览

objective-c - Objective-c - 将变量传递给可变长度方法

我有一个包含项目的数组,我想将它们传递给一个可变长度的方法。你是怎样做的?

即,我有这个(例如):

但是想象一下这个数组可能有可变长度的项目,所以你不能像这样硬编码它。

0 投票
2 回答
1041 浏览

javascript - 如何在 JavaScript 中创建可变参数(具有可变长度参数列表)函数包装器

目的是构建一个包装器,以提供在各种脚本主机上调用具有可变数量的本机函数的一致方法 - 以便脚本可以在浏览器以及 Windows 脚本主机或其他脚本引擎中执行。
我知道 3 种方法,每种方法都有自己的缺点。

  1. eval()方法:

    /li>
  2. switch()方法:

    /li>
  3. apply()方法:

    /li>

你问他们有什么问题?

  1. eval()那么,我们是否应该深入研究邪恶的所有原因?还有所有的字符串连接......不是一个被标记为“优雅”的解决方案。

  2. 一个人永远无法知道最大数量,也无法知道要准备n多少。cases这也会将脚本拉伸到巨大的比例,并违反神圣的DRY原则。

  3. 该脚本可以在不支持该apply()方法的旧(JavaScript 1.3 / ECMA-262-3 之前)引擎上执行。

现在是问题部分:还有其他解决方案吗?

0 投票
3 回答
30048 浏览

javascript - Javascript可以使用可变长度数组吗

我想在 Javascript 中创建一个可变长度数组。

这可能吗。快速谷歌搜索“Javascript 可变长度数组”似乎没有产生任何结果,如果可以做到这一点,那将是令人惊讶的。

我应该改为使用一个字符串来代替分隔符,还是有更好的方法来获得一个可变长度的类似数组的变量。

0 投票
1 回答
4095 浏览

java - 休眠中的可变长度Blob?

我的一个持久类中有一个 byte[] 成员。通常,我只是用@Lob 和@Column(name="foo", size=) 对其进行注释。然而,在这种特殊情况下,byte[] 的长度可以变化很大(从 ~10KB 一直到 ~100MB)。

如果我用 128MB 的大小来注释列,我觉得我会为中小型对象浪费大量空间。我可以使用可变长度的 blob 类型吗?hibernate 会在不浪费空间的情况下在幕后为我处理所有这些吗?解决这个问题的最佳方法是什么?

谢谢!

0 投票
3 回答
706 浏览

c - (int (*)[])var1 代表什么?

我找到了这个示例代码,并尝试用谷歌搜索(int (*)[])var1可以代表什么,但没有得到有用的结果。

通常我在 C99 中使用 VLA,所以我习惯于:

谢谢!

0 投票
5 回答
1543 浏览

c# - 将字符串解析为多个可变长度字符串(C#)

我目前正在尝试将 VB6 程序转换为 C#。字符串拆分成结构被广泛使用。例如,

当 dataStruct 被设置时,它会自动将 value 拆分为 3 个结构成员。在 C# 中是否有特殊功能可以执行此操作。我知道如何做到这一点的唯一方法是通过描述字符串长度和起始位置的属性/注释。还有什么建议吗?

0 投票
2 回答
400 浏览

c - 在 C 中释放可变大小的结构

我正在使用可变大小的 C 结构,如下所示:

最后一个 free() 会释放所有 malloc 的内容,还是只释放 sizeof(mystruct)?

0 投票
3 回答
2884 浏览

xml - 通过 TCP 套接字发送可变长度数据

我的应用程序需要通过 tcp 套接字发送/接收 xml 数据。无法包含任何类型的包含消息长度的固定长度标头。据我了解,通过 tcp 传输的数据可以像这样到达接收方。

  1. <梅萨

  2. ge><内容

  3. >嗨</content>

  4. </消息>

但不知何故,这永远不会发生,这意味着通过一次 Send() 操作发送的数据(假设它小于或等于套接字缓冲区大小)总是通过一次 Receive() 操作完全读取。鉴于端点的套接字缓冲区足够大并且从未超过,上述情况是否可能?