|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Проблема с трансляцией из С++ в Делфи
Здравствуйте.
Помогите перевести код из С++ в делфи. Привожу часть кода: Код:
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) Код:
var ofi: file; Real4: Single; NumRead: integer; Begin ... BlockRead(ofi, real4, SizeOf(Real4), NumRead); ... Код:
template<typename T> Последний раз редактировалось nicht, 13.12.2012 в 01:54. |
#2
|
||||
|
||||
В каком формате в файле хранятся данные? Покажи файл и где что в нём?
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#3
|
|||
|
|||
Вечером закину сам файл, код на С++ и то, как я читал на Delphi
|
#4
|
|||
|
|||
Извиняюсь, сам разобрался. Оказывается, в плюснутом исходнике ошибка была... Поправил, отписал в баг-трекер проги. Спасибо за сочуствие
|