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

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

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

Вывод из файла - C++

12.06.2014, 23:07. Просмотров 609. Ответов 21
Метки нет (Все метки)

Доброго времени суток, уважаемые форумчане!!!
Я вот с какой проблемой обращаюсь к вам:
Имеется программа записи данных в файл (Запись происходит корректно, в файле вводимые данные отображаются) нужно написать программу для вывода данных из файла. Функция имеется, при запуске программы ошибок не выдает, зато выдает такую вот гадость:
Вывод из файла
Будьте добры, помогите разобраться в чем причина данного безобразия.
Функция считывания из файла:
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
void massiv::loadBD(string file)
    {
        cout<<"Чтение файла:"<<endl;
        delete data;
        length=0;
        data=new worker*[10];
        worker *c;
        ifstream input("../worker.txt",ios::out);
        if(!input) cout<<"Файл не существует!"<<endl;
        else
        {
            int i=0;
            while(input.eof())
            {
                string age;
                string ii;
                int rr;
                input>>age;
                input>>ii;
                input>>rr;
                c=new worker(age, ii, rr);
                data[i]=c;
                i=i++;
                length++;
            }
            //Считаем  байты
            struct stat file_stat;
            stat("../worker.txt", &file_stat);
            int fileSizeBytes =file_stat.st_size;
 
            cout<<"Данные прочитаны!"<<endl;
            cout<<"Считано "<<length<<" Объектов "<<endl;
            cout<<"Размер файла "<<fileSizeBytes<<" байт"<<endl<<endl;
            input.close();
        }
    }
Функция вывода на экран:
C++
1
2
3
4
5
6
7
8
9
10
void massiv::show()
{
    //cout<<"Put="<<length<<" Capacity="<<size<<endl;
 
    for(int i=0; i < length; i++)
    {
        cout<<"<Элемент #"<<i+1<< ">"<<endl;
        data[i]->showcase();
    }
}
где
C++
1
2
3
4
5
6
7
    void showcase()
    { //Конструктор без параметров
        cout<<"Имя: "<<name<<endl;
        cout<<"Должность: "<<position<<endl;
        cout<<"Возраст: "<<age<<endl;
        cout<<endl;
    }
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2014, 23:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод из файла (C++):

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

Вывод из файла - C++
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; using namespace std; struct avia { char DepCity; char ArrCity; ...

Вывод файла - C++
Вообщем, кое-как сделал запись в файл. Теперь как бы вывести то, что уже записал? Неправильно программа работает. #include&lt;iostream&gt; ...

Вывод из файла С++ - C++
Как из текстового файла содержащего кучу строк вывести 5 строк

вывод из файла - C++
С текстового файла считать последовательность записей, содержащих данные о книге: &lt;Автор&gt;, &lt;Название книги&gt;, &lt;Год издания&gt;, &lt;Количество...

вывод из файла - C++
в текстовом файле лежат 2 матрицы в таком виде размерности 7*7 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 1 1 0 0...

21
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.06.2014, 19:09 #16
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
setlocale(0,"rus") разве в Code Blocks работает? Заменил, в программе чтения из файла, setlocale(0,"rus") на:
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
В настройках редактора среды стоит: WINDOWS-1251.
В loadBD(), вместо i = i++:
C++
1
++i;
Файл создавался вручную. Результат работы на скрине.
1
Миниатюры
Вывод из файла  
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.06.2014, 19:19 #17
Такая же конструкция: i = i++ есть и в find(), о чём компилятор предупреждения выдаёт:
warning: operation on 'i' may be undefined [-Wsequence-point]|
Студия, сорее всего, по другому такое обрабатывает, поэтому в ней работает нормально.
1
Vashtanerada
1 / 1 / 0
Регистрация: 29.11.2012
Сообщений: 143
13.06.2014, 20:31  [ТС] #18
Загнала программу в Visual Studia Запускается без ошибок, но выдает, что файл пуст

Добавлено через 6 минут
Сначала ругался на string
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.06.2014, 20:35 #19
Цитата Сообщение от Vashtanerada Посмотреть сообщение
Загнала программу в Visual Studia Запускается без ошибок, но выдает, что файл пуст
Это для кого всё пишется (16 пост)?
0
Vashtanerada
1 / 1 / 0
Регистрация: 29.11.2012
Сообщений: 143
13.06.2014, 20:49  [ТС] #20
Цитата Сообщение от alsav22 Посмотреть сообщение
Это для кого всё пишется (16 пост)?
Заменила, то что вы сказали, но...
Вывод из файла
И я не понимаю, что не так
Именно по этому попробовала через Стгдию
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.06.2014, 20:52 #21
И вот это исправьте: i = i++, и в студии, и везде.

Добавлено через 2 минуты
Цитата Сообщение от Vashtanerada Посмотреть сообщение
Заменила, то что вы сказали, но...
Кто, кроме вас, видит: что и как вы заменили? Первое (наверное, не последнее) вижу, что setlocale() остался. А у меня (16 пост)?

Добавлено через 35 секунд
Что конкретно сделали, по пунктам.
2
Vashtanerada
1 / 1 / 0
Регистрация: 29.11.2012
Сообщений: 143
13.06.2014, 20:57  [ТС] #22
Цитата Сообщение от alsav22 Посмотреть сообщение
И вот это исправьте: i = i++, и в студии, и везде.
Простите, этого не заметила.
Теперь работает!
Огромное вам спасибо!!!
0
13.06.2014, 20:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2014, 20:57
Привет! Вот еще темы с ответами:

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

Вывод из файла - C++
Как можно вывести все содержымое файла в переменную с пробелами , с абзацами короче со всеми символами.Я вот что пытался типа такого...

Ввод/Вывод в/из файла - C++
Задача такая. На вход подаётся текст (считать из файла). На выходе (записать в файл) получаем следующее все символы, встреченные в...

Ввод-вывод из файла - C++
Товарищи форумчане, помогите разобраться с выводом из файла на экран. Забить в файл у меня получилось,авот вывести никак. Вот часть кода:...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

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