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

Ошибка в программе, читающей файлы - C++

Восстановить пароль Регистрация
 
tramp_1-3
 Аватар для tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 428
23.07.2013, 11:51     Ошибка в программе, читающей файлы #1
Пишу программу, которая принимает произвольное количество файлов с записями на вход и в конечном счете выводит эти записи отсортированные в последний принятый файл. Естественно, у меня ничерта не работает и я отлаживаю программу кусками (так что позже, скорей всего, задам не один вопрос по ней же).
Вот в этом куске я пытаюсь понять почему не удается нормально записать содержимое файла в контейнер типа set <string>. В командной строке полный штиль, никаких записей не выводится, даже если запросить вывод items []. Собственно, сам кусок:
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <algorithm>
#include <string>
#include <iterator>
#include <set>
#include <fstream>
#include <cstdlib>
 
using std :: set;
using std :: cout;
using std :: cin;
using std :: string;
using std :: cerr;
using std :: ifstream;
using std :: ofstream;
 
int main (int argc, char * argv []) {
    ifstream in (argv [1]);
    ofstream out (argv [2], std ::ios_base :: trunc);
    int entries = 0;
    while (in.peek () == '\n')
            entries++; //количество строк
    in.clear ();
    in.close ();
    in.open (argv [1]);                     
    set <string> tempset;                   
    for (int j = 0; j < entries; j++) {  
        char ch;            
        char items [100];       
        int it = 0;
        while (in.get (ch) && ch != '\n')       //
            items [it++] = ch;
        string tempstr = items;
        tempset.insert (tempstr);
    };
    std :: ostream_iterator <string>  output (cout, ", ");
    copy (tempset.begin (), tempset.end (), output);
    system ("pause");
    return 0;
};


Добавлено через 56 минут
Даже cout << ch не работает в цикле. Проверял с файлами,с которыми всё в порядке.

Добавлено через 4 минуты
Нашёл ошибку - количество строк подсчитывалось неверно. Тема закрыта.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2013, 11:51     Ошибка в программе, читающей файлы
Посмотрите здесь:

Ошибка в программе C++
C++ Ошибка в программе
Ошибка в программе C++
C++ Ошибка в программе
Ошибка в программе C++
Ошибка в программе C++
C++ Ошибка в программе
C++ Как подключить головной и ресурсный файлы к основной программе

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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