
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.207] |
![]() |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
По хорошему делай так:
void TDataSet::ReadRec(){ char *s; char c=' '; int k; s=(char*)malloc(FCount); fread(s,sizeof(char),FCount,DataFile); // Из буфера s переноси данные куда тебе надо. free(s); } Будет работать быстрее т.к. не надо в цикле читать файл по одному байту |
Сообщ.
#17
,
|
|
|
а лучше вообще от alloc и stdio избавиться.
![]() На MSVC, например, ето практически сразу вылетит, на певом же созданном объекте ![]() |
Сообщ.
#18
,
|
|
|
Visitor, т.е new вызывает конструктор, а calloc нет?
|
Сообщ.
#19
,
|
|
|
Да. Там ного всего происходит, но и ето в том числе.
|
Сообщ.
#20
,
|
|
|
Visitor, да мне именно в Bc3.1 надо
![]() |
Сообщ.
#21
,
|
|||
|
А я не знаю Вашего С++ и MSVC ![]() ![]() Я смотрю, что он использует СИ-шные ф-ии типа fread() и пишу ему ответ в том же духе. |
Сообщ.
#22
,
|
|
|
А в BC вылетит тогда, когда ты уже допишешь до того места, хде потом с ужасом обнаружишь, что надцать кб кода надо переписывать
![]() |
Сообщ.
#23
,
|
|
|
s=(char*)malloc(FCount);
FCount - кол-во полей в записи Наверное ты имел ввиду: s=(char *)malloc(L); //L=50 - длинна моей строки по дефолту |
Сообщ.
#24
,
|
|
|
To Visitor
У меня не забалУешь! ![]() Я С++ (в смысле ООП) не использую, поэтому отслеживаю всё ручками. ![]() To EnvOder Может и так, я не разбирался в твоей проге. Мой тебе совет: Раз работаешь с БД - лучше поменьше файловых операций в теле цикла. Это существенно ускорит работу и не будет раздражать пользователя. Так что читай в буфер столько сколько возможно, а потом ужЕ ковыряйся циклами в памяти. |
Сообщ.
#25
,
|
|
|
Откуда я знаю, fread() сишная или с++сная?
![]() ![]() |
Сообщ.
#26
,
|
|
|
дык я ж говорю -- нада книжку хорошую... или две
![]() |
Сообщ.
#27
,
|
|
|
Drunkard, по поводу файловых операций я знаю. Только вот ВС3 под виндой сам жрет свою же кучу, и остается ее около 60 кб
![]() Так шо с буффером тут не шибко разгуляешься. ![]() |
Сообщ.
#28
,
|
|
|
И правда ведь заработало
![]() Сердечно благодарю, а то я думал, что пришел звиздец моему курсачу. |