Вниз
Скачать: CL | DM;

Объясните как это работает   Найти похожие ветки 

 
ssv   (2002-08-22 14:12) [0]

Есть код на Си:

BYTE sbuf[] = {..... };
..............
... (const char *)sbuf.......

Помогите разобраться что это такое и как это реализуется на Делфи


 
NeyroSpace   (2002-08-22 14:23) [1]

Это приведение типов, аналог делфи
s:string;
...
PChar(s)//это пример
а на Си написано привести sbuf к типу УКАЗАТЕЛЬ НА CHAr
Если это Борланд, то можно приводить как и на делфи, путем заключения в скобки:
НужныйТип(ИскомыйТип)


 
ssv   (2002-08-22 15:26) [2]

Да это в принципе понятно, но есть массив типа byte
а потом в одной функции встречается такая закорючка
...(const char *)sbuf.........
так вот как это реализуется на Делфи, т.е. что надо вместо этого написать на делфи


 
Игорь Шевченко ©   (2002-08-22 15:31) [3]

var
a : array[0..255] of Byte;
b : PChar;
......
b := PChar(@a);


 
NeyroSpace   (2002-08-22 15:31) [4]

Ну можно привести указатель к типу PByte, т.е. указатель на байт а его (значение указателя) уже привести к символу. Хотя можно и через указатель типа PChar. Все зависит от того что нужно.


 
kull ©   (2002-08-22 16:15) [5]

(const char *)sbuf - Это указатель на константные данные.

На Delphi это не реализуется. :)


 
Игорь Шевченко ©   (2002-08-22 16:16) [6]

kull © (22.08.02 16:15)

Я полагаю, что автору все-таки не шашечки нужны, а ехать :-)


 
ssv   (2002-08-27 13:35) [7]


> kull © (22.08.02 16:15)


И всеже на Delphi это реализуется Pchar(@sbuf[1])^


 
Игорь Шевченко ©   (2002-08-27 13:56) [8]

ssv (27.08.02 13:35)

Это неверная реализация.
см. kull © (22.08.02 16:15)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
1-26951
NeyroSpace
2002-08-28 18:07
2002.09.09
Как разделить свою прогу на 2а ехе ?


3-26868
Cranium
2002-08-18 14:21
2002.09.09
Помогите с запросом...


14-27194
dmtr
2002-08-14 16:03
2002.09.09
Нужна помощь!!!


1-26942
race1
2002-08-29 06:52
2002.09.09
componenty


7-27254
Tiger
2002-06-29 01:13
2002.09.09
Reboot, Shut Down, Ждущий режим и т.п. на Windows XP




   Наверх