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

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

Войти
Регистрация
Восстановить пароль
 
LeeZa
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 43
#1

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

03.03.2014, 11:35. Просмотров 319. Ответов 3
Метки нет (Все метки)

Нужно считать из файла данные (по слову). Считывается только по символу. Помогите, пожалуйста, исправить. Может нужно перегрузить >> , если так, то покажите, пож-ста, как.

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);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2014, 11:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считывание из файла (C++):

Заменить считывание с клавиатуры на считывание из файла - C++
Помогите пожалуйста, ни разу не работал со считыванием из файла поэтому не понимаю как и что делать. Почитал в интернете, попробовал, не...

Считывание файла в массив и запись нового файла - C++
Консоль VS C++. Текстовый файл открывается как бинарный, и считывается по 100 байт в массив - и сразу они переписываются в другой файл. В...

Считывание файла - C++
Как можно считать из файла строку 110011, как массив чисел, заранее спасибо!

Считывание из файла - C++
Ребят, нужно сделать так чтобы программа считывала файл таким образом: первая строка (в ней число) загоняется в переменную, все следующие...

считывание с файла - C++
файл содержит data.txt: 200 185 170 160 76 54.9 39 27 7.5 10.7 12.9 15.9 6.5 7.9 12 12 ...

Считывание из файла - C++
Помогите пожалуйста,никак не могу найти,как считать данные из такого файла: Rup 106 12 38 40.2 -51 09 01 300.88...

3
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];
1
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.03.2014, 15:13 #3
Цитата Сообщение от Alexsandr_S Посмотреть сообщение
и перед выводом в cout огранич массив '\0';
Не нужно, метод чтения сам добавляет '\0'.
1
РустамКР
5 / 5 / 2
Регистрация: 02.02.2014
Сообщений: 78
03.03.2014, 16:06 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Оставте просто имена переменных:
out_file >> an_name;
out_file >> number;
out_file >> cost;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2014, 16:06
Привет! Вот еще темы с ответами:

Считывание с файла - C++
Здравствуйте. Нужна помощь в написании программы: Дана непустая последовательность слов разделенных пробельными символами, расположенных...

Считывание из файла - C++
Ребят,подскажите пожалуйста: Нужно считать из файлов значения. Я создал два класса,в которых есть переменные,в которые будут считываться...

Считывание с файла - C++
char TextForKey=&quot;text text1 text2&quot;;//текст как сделать что бы &quot;text text1 text2&quot; этот текст брался с файла???

Считывание из файла в С++ - C++
Всем доброго времени суток. Есть задача: Дан текстовый файл в котором записаны данные следующим образом 1 12 3 2 3 11 5 2 11 ...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
03.03.2014, 16:06
Ответ Создать тему
Опции темы

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