Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 31.12.2006, 18:06   #1
FEAR
Пользователь
 
Аватар для FEAR
 
Регистрация: 29.12.2006
Сообщений: 13
По умолчанию Не могу прочитать файл до конца...

Пожалуйста помогите!
Я не могу прочитать текстовый файл до конца.
FEAR вне форума   Ответить с цитированием
Старый 31.12.2006, 18:45   #2
Flash_
Пользователь
 
Аватар для Flash_
 
Регистрация: 20.12.2006
Сообщений: 91
По умолчанию

Цитата:
Сообщение от FEAR Посмотреть сообщение
Пожалуйста помогите!
Я не могу прочитать текстовый файл до конца.
Исчерпывающее описание проблемы=) Поподробней можно?
Flash_ вне форума   Ответить с цитированием
Старый 31.12.2006, 21:09   #3
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

функция eof (End Of File) возвращает True, если достигнут конец файла.
В С++ зайди в помощь, набери эту функцию, там исчерпыющее описание, и пример дан, думаю разберёшься.
zetrix вне форума   Ответить с цитированием
Старый 03.01.2007, 09:56   #4
FEAR
Пользователь
 
Аватар для FEAR
 
Регистрация: 29.12.2006
Сообщений: 13
По умолчанию

Да пробывал я этот EOF чет не получается (( на Delphi все проще а тут чета не получается... (
К сожалению код выложить не могу ( я не дома, но при первой же возможности выложу...
Если возможно по приведите конкретный пример буду очень благодарен!
Заранее благодарю... ...0
FEAR вне форума   Ответить с цитированием
Старый 03.01.2007, 10:38   #5
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

#include <sys\stat.h>
#include <string.h>
#include <stdio.h>
#include <fcntl.h>
#include <io.h>

int main(void)
{
int handle;
char msg[] = "This is a test";
char ch;

/* создание файла */
handle = open("DUMMY.FIL",
O_CREAT | O_RDWR,
S_IREAD | S_IWRITE);

/* записывание данных в файл */
write(handle, msg, strlen(msg));

/* переход в начало файла (тоже самое что закрыть, а потом открыть файл для чтения) */
lseek(handle, 0L, SEEK_SET);

/* чтение из файла символов до тех пор, пока не достигнут конец файла */
do
{
read(handle, &ch, 1);
printf("%c", ch);
} while (!eof(handle));
close(handle);
return 0;
}

P.S.: пример взят из хелпа Turbo C++ 3.0
zetrix вне форума   Ответить с цитированием
Старый 04.01.2007, 12:15   #6
FEAR
Пользователь
 
Аватар для FEAR
 
Регистрация: 29.12.2006
Сообщений: 13
По умолчанию :)

СПС.. Помогло
FEAR вне форума   Ответить с цитированием
Старый 04.01.2007, 12:18   #7
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Кроме eof есть feof:
Код:
#include <stdio.h>

int main(void)
{
   FILE *stream;

   /* open a file for reading */
   stream = fopen("DUMMY.FIL", "r");

   /* read a character from the file */
   fgetc(stream);

   /* check for EOF */
   if (feof(stream))
      printf("We have reached end-of-file\n");

   /* close the file */
   fclose(stream);
   return 0;
}
zetrix вне форума   Ответить с цитированием
Старый 04.01.2007, 16:21   #8
FEAR
Пользователь
 
Аватар для FEAR
 
Регистрация: 29.12.2006
Сообщений: 13
По умолчанию

Не подскажите какой метод наиболее удобный, гибкий корче говоря более совершенный...
FEAR вне форума   Ответить с цитированием
Старый 04.01.2007, 19:36   #9
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

А что тебе нужно сделать? Напиши условие(если есть), и то, что ты уже сделал.
zetrix вне форума   Ответить с цитированием
Старый 04.01.2007, 22:46   #10
fresh
 
Регистрация: 04.01.2007
Сообщений: 3
По умолчанию

Кроме того можна использовать именно С++, смотри классы std::ifstream, std::fstream.

А по поводу совершенства наверное все зависит от поставленной задачи,
если файлы надо быстро читать одно дело, а если они при этом большие то другое. Я наверное пользовался бы непосредственно АПИ функциями, там будет побыстрее (и иногда эффективнее :-))...
fresh вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как прочитать текстовый файл на удаленном компьютере/сервере (с авторизацией) 3lander Общие вопросы Delphi 4 07.08.2008 18:20
Не могу прочитать параметры BlackOmen Общие вопросы Delphi 9 25.07.2008 11:37
Помогите прочитать reg файл в RichEdit или ListBox inndim Общие вопросы Delphi 4 09.06.2008 12:56
как в Си прочитать ЕХЕ файл в HEX виде ?? Юрий_BASE Общие вопросы C/C++ 1 18.04.2008 22:54
как прочитать файл бодяга Общие вопросы Delphi 1 09.09.2007 20:37


13:39.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.