IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Файлы (вместо типизированных), с++
сообщение
Сообщение #1


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


есть алгоритм многофазной сортировки, которая работает с файлами. в делфи это был file of integer.
поскольку в с++ абсолютного аналога нет, возник вопрос - что выбрать из имеющихся средств?
Запуталась sad.gif
В чем разница между парами:
fread-fwrite; (для всего подряд?)
fscanf-fprintf; (форматированный ввод/вывод? то есть %d - и будет мне десятичное целое число, как и хочется?)
fgets-fputs; (это вроде для строк.... то есть потом можно сделать IntToStr...)

подскажете?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Так... Значит, я добил эту программу (в смысле, она теперь работоспособна, единственное что нужно сделать - пройтись по ней, и убрать лишний индекс во всех массивах... Я сделал везде описание int ... [T+1])... Выкладываю только что отработавшую у меня под TC3.0 (Builder-а, к сожалению, не имею...) версию вместе со всей отладочной информацией, может она поможет тебе разобрать что к чему... Работает ТОЧНО так же, как и Дельфийская...

Основная идея (в двух словах) - замени стандартную функцию feof() на вот такую:
int fEOF(FILE *stream)
{
return (ftell(stream) == filesize(stream) || feof(stream));
}
и тот самый проблемный цикл сделай не
while( (!feof(Lenta[TAPE[1]])) && (!feof(Lenta[TAPE[2]])) ) {
...
}

, а
do {
...
} while( (!fEOF(Lenta[TAPE[1]])) && (!fEOF(Lenta[TAPE[2]])) );

smile.gif

P.S. Расширение - PAS, потому что CPP файлы пока нельзя приаттачивать...


Прикрепленные файлы
Прикрепленный файл  __MISS__.PAS ( 7.35 килобайт ) Кол-во скачиваний: 282
 К началу страницы 
+ Ответить 

Сообщений в этой теме
мисс_граффити   Файлы (вместо типизированных)   27.10.2006 1:07
volvo   Ты забыла еще одну пару: fgetc/fputc - посимвольно…   27.10.2006 1:25
мисс_граффити   спасибо!   27.10.2006 2:03
мисс_граффити   Пишу: void MakeFile (void) { FILE *f = fopen(…   29.10.2006 22:36
volvo   Потому, что нужно анализировать результат, возвращ…   29.10.2006 23:12
мисс_граффити   tnx. ...и еще вопрос возник: как можно узнать разм…   30.10.2006 2:50
volvo   Из хелпа Turbo C++ 3.0: long filesize(FILE *stre…   30.10.2006 2:56
мисс_граффити   понимаю, что уже замучала.... но опять с вопросами…   30.10.2006 22:17
мисс_граффити   ...нашла ошибку. а вот как ее избежать... как можн…   31.10.2006 2:03
volvo   Юля, а при чем здесь sizeof(int)? Надо делать size…   31.10.2006 18:16
мисс_граффити   а что есть struct?... у меня ситуация какая: при н…   31.10.2006 20:00
volvo   Тогда приведи описания Lenta и TAPE ... Так вот п…   31.10.2006 20:15
мисс_граффити   void MergeSort(void) { const T=3,p=2; int suma=0,s…   31.10.2006 20:40
volvo   Единственное, что приходит в голову - попробуй вот…   31.10.2006 22:38
мисс_граффити   уверена... 0 возвращает. типа промоталась. а считы…   31.10.2006 23:49
volvo   Юля, присоединить весь проект с данными вместе (в …   1.11.2006 1:03
мисс_граффити   вот... лр4.rar дубль 1.rar - то же самое на делфи.…   1.11.2006 1:40
volvo   Так... Значит, я добил эту программу (в смысле, он…   1.11.2006 22:39
мисс_граффити   Супер! Спасибо огромное.... Буду разбираться..…   2.11.2006 2:08


 Ответить  Открыть новую тему 
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.09.2024 16:55
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name