Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > C/C++ > C/C++
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.12.2012, 01:52
nicht nicht вне форума
Прохожий
 
Регистрация: 18.05.2011
Сообщения: 17
Репутация: 12
По умолчанию Проблема с трансляцией из С++ в Делфи

Здравствуйте.
Помогите перевести код из С++ в делфи. Привожу часть кода:
Код:
float read_flt_le(istream &f)
{ 
return read_le<float>(f); 
}

// read little-endian number from f and return equivalent in host endianess
template<typename T>
T read_le(istream &f)
{
    T val;
    my_read(f, reinterpret_cast<char*>(&val), sizeof(val));
    le_to_host(&val, sizeof(val));
    return val;
}

void my_read(istream &f, char *buf, int len)
{
    f.read(buf, len);
    cout << buf << endl;
    if (f.gcount() < len) {
        throw FormatError("unexpected eof");
    }
}

void le_to_host(void *, int)
{}
Здесь файл читается в поток, и из него идет считывание нужных данных.
Чтение делаю с помощью
Код:
BlockRead()
с чтением целых чисел и строк все нормально идет, загвоздка только с функцией
Код:
float read_flt_le(istream &f)
. Пробовал читать как Single:
Код:
var
ofi: file;
Real4: Single;
NumRead: integer;
Begin
...
BlockRead(ofi, real4, SizeOf(Real4), NumRead);
...
Но получаю неверные значения. Подозреваю, что дело в
Код:
template<typename T>
Подскажите, как правильно сконвертировать в Делфи

Последний раз редактировалось nicht, 13.12.2012 в 01:54.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:16.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter