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

Считывание из файла - C++

Восстановить пароль Регистрация
 
LeeZa
 Аватар для LeeZa
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 43
03.03.2014, 11:35     Считывание из файла #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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <stdlib.h> // (exit)
#include <string.h>
#include <iostream> // (cout, cin)
#include <fstream>  //работа с фаилами
#include <iomanip> // (sew, setiosflags)
#include <time.h>
using namespace std;
 
class People
{public:
    char an_name[50];
    char number[50];
    char cost[12];
 
 
void read_file()
{
 int i=0;
 char path[25];
 cout << "Vvedite puti k failu : ";
 gets(path);
 ifstream out_file(path, ios::out);
 if (out_file.fail()) cerr << "Error in opening" << endl;
 else
  {
  if (!out_file.is_open())  cout << "Empty file";
  else{
 
  //Чтение животных зоопарка
  cout << endl << "----------------------------------------------------------------------------" << endl;
  cout << "#  |   Naimenovanie :    |    Kol-vo :    |    Tena :    " << endl;
  cout << "----------------------------------------------------------------------------" << endl;
   while ((! out_file.eof()) || (! out_file.fail()))
   {
   out_file >> an_name[i];
   out_file >> number[i];
   out_file >> cost[i];
 
  if (! out_file.fail()) cout << setiosflags(ios::left) << setw(3) << i+1 << "|   " << setw(23) << setiosflags(ios::left) << an_name[i] << "    |    " << setw(14) << setiosflags(ios::left) << number[i] << "    |    " << setw(11) << setiosflags(ios::left) << cost[i] << endl;
   i++;
   }
  cout << "----------------------------------------------------------------------------";
   }
  out_file.close();
  }  }
 
};
 
void main()
{
    People g;
    g.read_file();
    system("pause>>void");
    exit(0);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2014, 11:35     Считывание из файла
Посмотрите здесь:

Считывание из файла C++
C++ считывание из файла
C++ считывание из файла
C++ Считывание из файла
C++ считывание файла
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alexsandr_S
5 / 5 / 1
Регистрация: 23.10.2013
Сообщений: 18
03.03.2014, 12:05     Считывание из файла #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
если я не ошибаюсь , ты считываешь по одному символу
out_file >> an_name[i]; убери индекс и перед выводом в cout огранич массив '\0';
out_file >> number[i];
out_file >> cost[i];
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.03.2014, 15:13     Считывание из файла #3
Цитата Сообщение от Alexsandr_S Посмотреть сообщение
и перед выводом в cout огранич массив '\0';
Не нужно, метод чтения сам добавляет '\0'.
РустамКР
4 / 4 / 2
Регистрация: 02.02.2014
Сообщений: 65
03.03.2014, 16:06     Считывание из файла #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Оставте просто имена переменных:
out_file >> an_name;
out_file >> number;
out_file >> cost;
Yandex
Объявления
03.03.2014, 16:06     Считывание из файла
Ответ Создать тему
Опции темы

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