问题标签 [memmove]

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 回答
317 浏览

c - 为什么`memmove`使用`void *`作为参数而不是`char *`?

c库函数的定义memmove如下:

我想知道为什么我们需要使用void*const void*作为参数的类型。为什么不直接char*const char*

更新

输出:test_case = {1, 2, 3, 4, 3, 4, 5, 6, 10}

0 投票
1 回答
225 浏览

c++ - 将 memmove 函数应用于 3d 数组

我正在尝试使用for循环在 c++ 中实现 fftshift 函数(来自 MATLAB),这真的很耗时。这是我的代码:

现在我想重写它memmove以提高运行效率。对于第三维,我使用:

此代码适用于 1d 和 2d 数组,但不适用于 3d 数组。另外,我不知道如何移动列和行元素memmove。任何人都可以帮助我解决所有这些问题吗?非常感谢!!

现在我修改了代码如下:

但问题是我定义了太多新的动态数组,而且 tempa3 的结果也不正确。有人可以提出一些建议吗?

0 投票
2 回答
72 浏览

c - 输出文件中不需要的空格

我正在尝试创建一个函数,该函数附加!!在文本文件的(包含)到(不包含)每一行的末尾。在我遇到了几次并发症后,我实际上成功了。但也不完全。



它相对工作得很好,除了它没有附加到最后一行。它最后用空格(可能是NULL)填充文本文件。我认为这是因为我也在移动 enzeroed 附加区域content

在此处输入图像描述 所以也许我需要弄清楚我必须使用什么合适的公式才能完成这项工作。关于如何完成这项工作的任何想法?

0 投票
3 回答
1248 浏览

for-loop - 反向迭代、for 或 while 循环哪个更快?

我正在尝试memmove在 Rust 中实现标准函数,我想知道哪种方法对于向下迭代(其中src< dest)更快:

或者

rev()循环中的版本会for显着减慢它吗?

0 投票
1 回答
212 浏览

c++ - 不同数组之间的 memcpy 或 memmove

我正在阅读有关 memcpy 和 memmove 的一些信息,如果我没记错的话,您可以将两者用于在不同数组之间移动内存。

所以这是我的问题:如果我想用这种方法连接这些对象。

因此,从"listToConcatenate->vector"哪个开始,我们将使用 复制其中的所有元素,"(listToConcatenate->n)*sizeof(int))"并将其放在另一个数组的末尾"this->vector + n"

这不应该是正确的list2.listToConcatenate(&list1);吗?当然,假设我们有足够的空间。

如果不是,那么正确的方法是什么?这可以用 memcpy 完成吗?

谢谢你。

编辑:我想我需要补充一点,这不适用于我的程序。它不会崩溃,但似乎什么也没做。

0 投票
2 回答
110 浏览

c - C 中的 Memmove() 将结果打印两次

我在玩 memmove,我明白它是如何工作的。但每当最终结果包含的内容超过原始源大小时,它就会打印出一堆随机数。例如:

abcdefdefgbdefggh当它应该给我的时候给我输出 abcdefdefg为什么其他字符被添加到str中?

0 投票
1 回答
621 浏览

c++ - 使用 realloc() 使 memmove() 安全

在我的函数中替换一个子字符串。如果输入子串比原始子串长,它会将输入串的一部分移出,为输入子串腾出空间。

我理解这会导致未定义的行为。我认为我应该能够使用 realloc() 分配所需的空间,但没有成功。

我尝试在 memmove() 之前添加这个:

这是一个合理的策略吗?为该操作腾出空间的正确方法是什么?

这是不使用 realloc() 的程序:

0 投票
0 回答
427 浏览

c - 在 arrayList 中的特定位置插入值

所以我试图向arraylist添加一个特定的值。程序可以工作,但是当我检查是否添加了值时,我每次都得到相同的数字。

0 投票
1 回答
2106 浏览

vector - Rust 中向量的元素如何左移?

有没有一种安全的方法可以在 Rust 中左移向量的元素?(左移两个位置时vec![1, 2, 3]变为)。vec![3]我正在处理Copy类型,我不想支付比使用memmove.

我发现的唯一解决方案是不安全的:memmove直接通过ptr::copy.

0 投票
2 回答
72 浏览

c - 马尔可夫链。实现添加方法

我对实施中的下一个声明有点困惑:

mmemove(前缀, 前缀 + 1, (NPREF - 1) * sizeof(prefix[0]));

所以prefix是一个char类型的指针。在这个术语中,前缀 + 1 是指向数组中下一个字符的链接,不是吗?

它是如何以正确的方式工作的?我已经阅读了 memmove 并阅读了指针,但无法为自己探索这个添加函数的行为。