Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Ang_07
0 / 0 / 1
Регистрация: 09.11.2010
Сообщений: 47
1

определения конца файла

28.04.2011, 20:10. Просмотров 1155. Ответов 7
Метки нет (Все метки)

Как определить конец файла если я открываю файл fopen и считываю данные через freed ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int reedFileT(Dek *&ldek,Dek *&rdek)
{
    if(ldek!=0)return 0;
    FILE *f=fopen("myfile.txt","rt");
    Dek *pdek;
    Dek *ndek=new Dek;
    while()//вотсуда надо вставить чтонибуть чтоб при окончании файла оно вышло из цикла.. тоесть пока не конец файла
    {
        if(ldek==0){ldek=ndek; ndek->left=0;}
        fread(&ndek->info,sizeof(Info),1,f);
        pdek=ndek;
        ndek=new Dek;
        ndek->left=pdek;
        pdek->right=ndek;
    }
    fclose(f);
    rdek=ndek;
    rdek->right=0;
    return 1;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2011, 20:10
Ответы с готовыми решениями:

Алгоритм определения конца предложения
Написать программу, определяющую конец предложения в текстах. В алгоритме...

Перебор файла посимвольно, как организовать цикл, работающий до конца файла.
Нужно перебрать файл посимвольно и, учитывая спецсимволы записать содержимое...

Чтение файла с несколькими знаками конца файла
В файле несколько раз встречается ноль, и ни как не получается прочитать его...

Чтение из файла с конца
Добрый день, не могу реализовать такую штуку =) Хотелось бы имеющийся...

Определение конца файла
помогите пожалуйста определить условие конца файла #include <iostream>...

7
schdub
Эксперт С++
3039 / 1381 / 421
Регистрация: 19.01.2009
Сообщений: 3,692
Завершенные тесты: 1
28.04.2011, 21:19 2
Используйте, например,
feof()
Syntax

#include <stdio.h>
int feof(FILE *stream);

Description

Detects end-of-file on a stream.
feof is a macro that tests the given stream for an end-of-file indicator. Once the indicator is set read operations on the file return the indicator until rewind is called or the file is closed. The end-of-file indicator is reset with each input operation.

Return Value

feof returns nonzero if an end-of-file indicator was detected on the last input operation on the named stream and 0 if end-of-file has not been reached.
, объявленную в stdio.h.

Необходимо отметить, что в Вашей функции утечка памяти (взгляните на работу с переменной ndek). Вся память, которая выделена оператором new должна быть удалена оператором delete.
0
Ang_07
0 / 0 / 1
Регистрация: 09.11.2010
Сообщений: 47
28.04.2011, 22:02  [ТС] 3
я специально оставляю, у меня список
0
schdub
Эксперт С++
3039 / 1381 / 421
Регистрация: 19.01.2009
Сообщений: 3,692
Завершенные тесты: 1
28.04.2011, 22:51 4
Цитата Сообщение от Ang_07 Посмотреть сообщение
у меня список
Понятно. Ну а с feof() все получилось?
0
Ang_07
0 / 0 / 1
Регистрация: 09.11.2010
Сообщений: 47
28.04.2011, 23:38  [ТС] 5
да получилось, ещё до того как ты ответил... ппц.. тяжко было найти в инете...)
0
kazak
3058 / 2379 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
29.04.2011, 06:41 6
fread возвращает количество считанных блоков, поэтому ее допустимо, и даже предпочтительно, вызывать прямо в while'е.
0
Ang_07
0 / 0 / 1
Регистрация: 09.11.2010
Сообщений: 47
29.04.2011, 08:23  [ТС] 7
Кэп чтоле ?))
0
easybudda
Модератор
Эксперт CЭксперт С++
10146 / 6053 / 1521
Регистрация: 25.07.2009
Сообщений: 11,476
29.04.2011, 08:37 8
Ang_07, вам дело говорят! Нет бы прислушаться...
C
1
2
3
4
5
6
7
8
9
10
11
typedef struct {
 /* ... */
} mystruct_t;
 
/*... */
FILE * f;
mystruct_t ms;
/* ... */
while ( fread(&ms, sizeof(mystruct_t), 1, f) == 1 ){
  /* do something with ms */
}
а лучше весь файл оптом в массив структур прочитать (предварительно получив размер файла, поделив на размер структуры и создав массив под получившееся количество элементов), ну или блоками, если файл большой очень...
0
29.04.2011, 08:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2011, 08:37

Условие конца файла
Имеем функцию: void Inpfile (stud&amp; s) { ifstream base(&quot;base.txt&quot;);...

Истинность конца файла
Суть в чем. Есть реализация криптосистемы МакЭлисса. В входном текстовом...

Определение конца файла
Возникают проблемы при чтении бинарного файла, а именно цикл осуществляет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru