Найти - Пользователи
Полная версия: Win32 ReadFile -> структура
Начало » Python для новичков » Win32 ReadFile -> структура
1
Squash
Си:

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]);

Как сделать то же самое на питоне?
reclosedev
http://docs.python.org/library/struct.html
EBFE
Если очень хочется использовать 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:])
“Примерно” - потому как этот код не выводит содержимое стека, если числа != 0

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB