Чтение данных из файла

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Чтение данных из файла

sergey-sv » 11 мар 2005, 08:59

С WinMain'ом полностью согласен :) Читаешь весь файл в буфер (ну можно в ту же строку string или CString или что-то в этом роде) а потом анализируешь как тебе надо

WinMain » 10 мар 2005, 16:54

Честно говоря, не совсем понятно, чего ты хочешь. Функция fgets() и так читает текстовый файл построчно, т.е. считывает данные до тех пор, пока не встретит символ новой строки или конец файла (если конечно длина строки не превышает указанный размер буфера). При каждом последующем вызове функция будет считывать данные из файла с новой строки и записывать их в указанный буфер. А уже данные в буфере анализируй сам как тебе нужно.

ZaikinMaxim » 10 мар 2005, 16:07

Да. Все это конечно хорошие варианты. Но вот как сделать так читаем данные анализируем распихиваем по своим местам, как только выхватываем '\n' значит переходим в начало следующей строчки. Вернее самое для меня интересное это как перейти в начало следующей строки ?

sergey-sv » 10 мар 2005, 15:02

Ребят, а вы не пробовали файл открывать, как двоичный :

FILE *f = fopen("data.txt", "rb");

и считывать не 9 символов, а 15 или более (с учетом всех \n) :) ???

WinMain » 10 мар 2005, 13:48

Вариантов может быть сколько угодно. Всё зависит от условия конкретной задачи и от тех библиотек С/С++, которые ты собираешься использовать. Функции и классы для работы с файлами есть в любой известной среде программирования. А так же функции и классы для работы со строками и числами.

ZaikinMaxim » 10 мар 2005, 12:47

Да неплохой вариант . А еще какие могут быть варианты ?

WinMain » 10 мар 2005, 10:20

Можно примерно так:

Код: Выделить всё

#include <stdio.h>

int main()
{
 FILE *f = fopen("data.txt", "rt");
 if (!f)
  {
    // Код сообщения об ошибке...
  }
 else
  {
   char szText[80];
   while (!feof(f))
    {
      fgets(szText, sizeof(szText)-1, f);
      // Код обработки текстовой строки...
    }
   fclose(f);
  }
 return 0;
}

Чтение данных из файла

ZaikinMaxim » 10 мар 2005, 01:55

Вопрос такой. Незнаю как сделать так что бы можно было считать например вот это
файла data.txt
123
456
789

делаем
fread(s,9,file);
смотрю в дебагере
считавается только 123\n
как сделать так что бы читаем читаем выхватываем '\n' переходим на новую строчку продолжаем читать и так пока незакончаться данные

Вернуться к началу