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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Оператор присваивания http://www.cyberforum.ru/cpp-beginners/thread927461.html
Добрый день! Помогите, пожалуйста, разобраться. Я не совсем понимаю работу перегруженного оператора присваивания в классе String, который содержит переменные-члены: указатель char *itsString и переменную unsigned short itsLen (длина строки): String& String::operator=(const String & rhs) { if (this == &rhs) return *this; delete itsString; itsLen=rhs.GetLen(); ...
C++ Написать функцию, определяющую пересекаются ли два отрезка На вход подаются координаты начал и концов двух отрезков. Нужно определить пересекаются ли они. Добавлено через 21 минуту Или хотя бы объяснить, как это написать http://www.cyberforum.ru/cpp-beginners/thread927457.html
Отладка консольного приложения C++
в отладчике OllyDbg открыл оконный проект из Делфи, вся информация, код отображаются нормально. Таким же способом открыл обычную консольную программу, просто запустилась прога, а кода и никакой информации нету. Почему, что не так?
Определить, сколько раз встречается число 5 среди элементов всей матрицы C++
Определить, сколько раз встречается число 5 среди элементов всей матрицы.
C++ Аргументы для функции main() http://www.cyberforum.ru/cpp-beginners/thread927417.html
Я совершенно не понял, каким образом работает, допустим вот такой фрагмент программы: int main(int argc, char **argv) { if (argc>1) { int i; for (i=1; i<argc; ++i) cout<<argv<<' '; cout<<argv; }
C++ Наследование классов и конструкторы #include <stdio.h> #include <conio.h> class form { public: form(){printf("form::form()\n");}; ~form(){printf("form::~form()\n");}; }; подробнее

Показать сообщение отдельно
tramp_1-3
 Аватар для tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 428
23.07.2013, 11:51     Ошибка в программе, читающей файлы
Пишу программу, которая принимает произвольное количество файлов с записями на вход и в конечном счете выводит эти записи отсортированные в последний принятый файл. Естественно, у меня ничерта не работает и я отлаживаю программу кусками (так что позже, скорей всего, задам не один вопрос по ней же).
Вот в этом куске я пытаюсь понять почему не удается нормально записать содержимое файла в контейнер типа 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 минуты
Нашёл ошибку - количество строк подсчитывалось неверно. Тема закрыта.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru