Форум сайта python.su
0
Си:
typedef struct { char szName [0x80]; DWORD dwNums []; } SAMPLE_STRUCT; DWORD writ; char buff [0x200]; ReadFile (hFile, buff, sizeof(buff), &writ, NULL); SAMPLE_STRUCT* pstr = (SAMPLE_STRUCT*)buff; printf ("%s\n", buff); for (unsigned i=0; pstr->dwNums[i]; i++) printf ("%i\n", pstr->dwNums[i]);
Отредактировано Squash (Авг. 14, 2012 14:14:20)
Офлайн
173
Офлайн
20
Если очень хочется использовать ReadFile
http://sourceforge.net/projects/pywin32/
или ctypes
http://docs.python.org/library/ctypes
import ctypes
from ctypes.wintypes import DWORD
bytes_read = DWORD()
buffer = ctypes.create_string_buffer(200+1)
res = ctypes.windll.krenel32.ReadFile(handle, buffer, 200,ctypes.byref(bytes_readd),None)
check_res ...
check ctypes.windll.kernel32.GetLastError()
with open('myfile', 'rb') as bin_file: data = bin_file.read(200) my_name = struct.unpack_from("80s", data) arr = array.array("I") arr.fromstring(data[80:])

Отредактировано EBFE (Авг. 14, 2012 16:48:03)
Офлайн