with open(fname, 'rb') as fp:
line = fp.readline().strip()
content = fp.read()
cdef int nb = len(content)
#print("Hello ", nb)
cdef char* c_string = <char *> malloc((nb + 1) * sizeof(char))
cdef char* tmp_str = <char *> malloc(4)
memcpy(tmp_str, c_string + 8, 4)
print(atof(tmp_str)) # this line is ok
for i in range(nb):
memcpy(tmp_str, c_string + i, 4) # error occur
# print(atof(tmp_str))
Ошибка:
for i in range(nb):
memcpy(tmp_str, c_string + i, 4)`
^ `
decodex.pyx:23:33: Cannot convert Python object to 'const void *'`
Я искал, но не нашел примера, который использовал бы "memcpy" с необработанным указателем.