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

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

28.04.2011, 20:10. Просмотров 1180. Ответов 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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2011, 20:10
Ответы с готовыми решениями:

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

алгоритм определения конца предложения в текстах
Дана текст в виде файла. В тексте, найти те предложения оканчивающиеся ".", "?" или "!" и выписать...

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

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

Чтение файла с n строки и до конца файла
как сделать так чтобы писало не с начала файла а например с середины и до конца? fstream...

7
schdub
Эксперт С++
3047 / 1389 / 421
Регистрация: 19.01.2009
Сообщений: 3,735
Завершенные тесты: 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
Эксперт С++
3047 / 1389 / 421
Регистрация: 19.01.2009
Сообщений: 3,735
Завершенные тесты: 1
28.04.2011, 22:51 4
Цитата Сообщение от Ang_07 Посмотреть сообщение
у меня список
Понятно. Ну а с feof() все получилось?
0
28.04.2011, 22:51
Ang_07
0 / 0 / 1
Регистрация: 09.11.2010
Сообщений: 47
28.04.2011, 23:38  [ТС] 5
да получилось, ещё до того как ты ответил... ппц.. тяжко было найти в инете...)
0
kazak
3065 / 2386 / 255
Регистрация: 11.03.2009
Сообщений: 5,444
Завершенные тесты: 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
Модератор
Эксперт JavaЭксперт CЭксперт С++
10537 / 6239 / 1567
Регистрация: 25.07.2009
Сообщений: 11,877
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
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2011, 08:37

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

Считывание до конца файла
В каждой строке файла 2 целых числа. Нужно считать по 2 числа до конца файла и выводить в каждую...

Условие конца файла
Доброго времени суток! У меня такой вопрос, как мне реализовать цикл считывания информации из...


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

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

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