【发布时间】:2019-12-26 15:11:02
【问题描述】:
我有一个重要的项目要写但是有一个问题:我必须从 Python 用 C 语言来写(我绝对不了解 Python..)
我已经翻译了将近 70% 的代码,但是由于一行代码我无法完成,所以我真的希望有人帮助我..
这是有问题的行:
define1 = '\x0F\x10\x20\xD6'
def function(file):
if file[i:i+4] == define1:
[...]
(file 应该是二进制文件),我绝对不知道如何用 C 语言编写这个file[i:i+4](我假设它可以使用数组和指针来完成,但仅此而已......) .
提前致谢。
【问题讨论】:
-
您正在处理切片。
file[i:i+4]在位置i处提取长度为 4 的子数组。您不需要在 c 中提取它,因此您可以比较内存区域而无需将其提取到额外的变量if(memcmp(file + i, define1, 4) == 0) -
以后请努力写出更好的标题。要求翻译代码的问题一直被关闭和删除,起初您的问题可能似乎属于该类别。但是你知道你想问什么:“我绝对不知道如何用 C 语言编写这个
file[i:i+4]”。我怀疑你可以从那里想出一个更好的标题。 -
谢谢!!对不起,这是最后一个问题:我必须像
binary[:i] + file[i:i+4] + define1一样添加它,这里的翻译是什么?
标签: python c arrays intervals language-translation