Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
Xoniks
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 31
#1

Fstream - чтение из файла - C++

09.06.2014, 17:28. Просмотров 1829. Ответов 11
Метки нет (Все метки)

подскажите начинающему программисту как читать файл целиком.. например последовательность чисел
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
09.06.2014, 17:29     Fstream - чтение из файла #2
Цитата Сообщение от Xoniks Посмотреть сообщение
подскажите начинающему программисту как читать файл целиком.. например последовательность чисел
С помощью класса std::ifstream.
Xoniks
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 31
09.06.2014, 17:41  [ТС]     Fstream - чтение из файла #3
ну Ifstream f.open это я знаю.. а как например читать до конца файла
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
09.06.2014, 17:44     Fstream - чтение из файла #4
Так же, как и не до конца, только до конца О_о в чем именно вопрос?
Xoniks
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 31
09.06.2014, 17:51  [ТС]     Fstream - чтение из файла #5
допустим.. надо считать из файла несколько чисел.. за ранее количество чисел не известно, и не задано ни где, мне нужен цикл, для чтения до конца файла
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
09.06.2014, 17:53     Fstream - чтение из файла #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
while (file.good())
  {
  file >> переменная;
  }
Xoniks
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 31
09.06.2014, 20:29  [ТС]     Fstream - чтение из файла #7
а вот еще другой вопрос по этой же теме.. как прочитать фаил 2 раз за 1 задачу..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
ifstream f1;
    ofstream f2;
    f1.open("D:\\file1.txt");
    f2.open("D:\\file2.txt");
 
    cout<<"f1 array: ";
    while (f1.good())
  {
  f1 >> n;
  cout<<n<<" ";
  size++;
  }
 
  int *a = new int[size];
 
  while (f1.good())
  {
      f1>>n;
      
      a[k]=n;
      k++;
  }
cout<<endl;
если сделать так.. то 2 раз не получается прочитать из файла тоже самое
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
09.06.2014, 20:49     Fstream - чтение из файла #8
Цитата Сообщение от Xoniks Посмотреть сообщение
а вот еще другой вопрос по этой же теме.. как прочитать фаил 2 раз за 1 задачу..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
ifstream f1;
    ofstream f2;
    f1.open("D:\\file1.txt");
    f2.open("D:\\file2.txt");
 
    cout<<"f1 array: ";
    while (f1.good())
  {
  f1 >> n;
  cout<<n<<" ";
  size++;
  }
 
  int *a = new int[size];
 
  while (f1.good())
  {
      f1>>n;
      
      a[k]=n;
      k++;
  }
cout<<endl;
если сделать так.. то 2 раз не получается прочитать из файла тоже самое
C++
1
f1.seekg(0, f1.beg); //переместит текущую позицию на начало стрима
Добавлено через 1 минуту
ЗЫ если ты не знаешь, сколько там будет чисел, используй std::vector (ну или другой динамический контейнер) и push_back.
Xoniks
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 31
09.06.2014, 20:59  [ТС]     Fstream - чтение из файла #9
вектор использовать нельзя.. задание именно на динамический массив
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
09.06.2014, 21:24     Fstream - чтение из файла #10
Цитата Сообщение от Xoniks Посмотреть сообщение
вектор использовать нельзя.. задание именно на динамический массив
Вектор и есть динамическим массивом.
Xoniks
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 31
09.06.2014, 22:29  [ТС]     Fstream - чтение из файла #11
да, вектор классная шутка, но
C++
1
#include <vector>
использовать нельзя увы)) не примут задачу
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2014, 23:29     Fstream - чтение из файла
Еще ссылки по теме:

Запись в середину файла - fstream C++
C++ Чтение всего файла fstream
C++ Как начать чтение файла сначала после Getline с первой строчки в fstream?
Открытие файла через объекта класса fstream C++
Определение длины файла для fstream C++

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

Или воспользуйтесь поиском по форуму:
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
09.06.2014, 23:29     Fstream - чтение из файла #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <fstream>
#include <iostream>
#include <iterator>
 
int main()
  {
  std::ifstream f1("file1.txt");
  size_t size = std::distance(std::istream_iterator<int>(f1), std::istream_iterator<int>());
  std::cout << "There are " << size << " ints in file" << std::endl;
  f1.clear();
  f1.seekg(0, f1.beg);
 
  int* some_numbers = new int[size];
  for (size_t i = 0; i < size; ++i)
    {
    f1 >> some_numbers[i];
    std::cout << some_numbers[i] << ' ';
    }
  std::cout << std::endl;
 
  //do something
 
  delete [] some_numbers;
  std::cin.get();
  return 0;
  }
Yandex
Объявления
09.06.2014, 23:29     Fstream - чтение из файла
Ответ Создать тему
Опции темы

Текущее время: 11:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru