2016-06-04 5 views
-1

Я писал программу с C на Delphi так, чтобы сделать его x64 версии, когда я столкнулся с проблемами с перечислимого & FWRITE.Enum & FWRITE Дилемма

enum{ ou2bufsize=1<<16 }; 
byte ou2buf[ou2bufsize]; 

И

fwrite(ou2buf, 1,l, h); 

Может я, пожалуйста, скажите мне, что это & как они объявлены в Delphi ???

+0

Почему бы не прочитать документацию? –

ответ

2

enum{ ou2bufsize=1<<16 }; - константа с именем ou2bufsize со значением 65536 (1 сдвинута влево на 16 бит). Эквивалентно Дельфи:

const 
    ou2bufsize = 1 shl 16; 

byte ou2buf[ou2bufsize]; является фиксированным размером массив байтов, содержащих названные ou2bufou2bufsize количество элементов массива. Эквивалентно Дельфи:

ou2buf: array[0..ou2bufsize-1] of byte; 

fwrite(ou2buf, 1,l, h); пишет l количество элементов 1-байтового размера из исходного адреса памяти ou2buf к файлу, представленного h. Эквивалент Delphi является:

FileWrite(h, ou2buf[0], l); 

Где h является THandle возвращаемым FileCreate() или FileOpen() и l этого числа записываемых байт.

1

enum{ ou2bufsize=1<<16 }; определяет константу, называемую ou2bufsize, имеющую значение 1 shl 16 (1 сдвинут влево на 16 бит).

byte ou2buf[ou2bufsize]; определяет массив (называемый ou2buf) из ou2bufsize байтов, пронумерованных от 0 к ou2bufsize-1.

fwrite(ou2buf, 1,l, h); записывает первые l байт от ou2buf на выходной маркер h.