Текущий архив: 2002.09.09;
Скачать: 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 вся ветка
Текущий архив: 2002.09.09;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.01 c