powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ошибка вывода в файл
7 сообщений из 7, страница 1 из 1
Ошибка вывода в файл
    #35028219
IMPactus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вечер добрый. Пишу курсовую работу "конкорданс". И встретил на момент на писания такую проблему. Пытаюсь вывести конкорданс в файл, но выводится только последний его элемент, хотя если поменять вывод в поток на банальный cout все прекрасно выводится на экран. Кто-нибудь может подсказать в чем проблема?

Код: plaintext
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.
void concordance_class :: SavePrint () {
fstream inf1;
inf1.open( "conc.txt", ios::out | ios::trunc);
inf1.seekp(  0 , ios::beg );

  if ( start ==  0  )
    inf1<<"Concordance is empty";
  else {
    inf1<<"[Word] [Amount] [Number of lines]"<<endl<<endl;
    save_print_rec (start);
  }
}

void concordance_class :: save_print_rec (element_struct * element) {
  if ( element ==  0  )
    return;

  save_print_rec (element->left);
  SaveElement (element);
  save_print_rec (element->right);
}

void concordance_class :: SaveElement (element_struct * element) {
  int i;
  fstream inf1;
  inf1.open("conc.txt", ios::out | ios::trunc);
  inf1<<element->word.word<<" "<<element->word.amount;
  for (i= 0 ; i<element->word.amount;i++ )
  {
  if (i== 0 )
    inf1<<" "<<element->word.line[i];
    else
    if (i> 0 )
    inf1<<","<<element->word.line[i];
    }
    inf1<<endl;
    }
...
Рейтинг: 0 / 0
Ошибка вывода в файл
    #35028401
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конкорданс
Полез за словарём...
...
Рейтинг: 0 / 0
Ошибка вывода в файл
    #35028405
IMPactus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблему решил, спасибо.
...
Рейтинг: 0 / 0
Ошибка вывода в файл
    #35028422
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMPactus wrote:
> void concordance_class :: SaveElement (element_struct * element) {
> int i;
> fstream inf1;
> inf1.open("conc.txt", ios::out | ios::trunc);

Вы переоткрываете файл для вывода каждого элемента дерева.
Мало того, что это не нужно и накладно, но поскольку вы
его переоткрываете с транкейтом, то все, что вы уже вывели,
исчезает. Вам надо по стеку раскрутки дерева файл открытый передавать.
( в виде параметра).
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Ошибка вывода в файл
    #35028592
IMPactus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да я просто truncate на append заменил. Спасибо за помощь.
...
Рейтинг: 0 / 0
Ошибка вывода в файл
    #35028628
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMPactusДа я просто truncate на append заменил. Спасибо за помощь.
Зря ты это сделал.
...
Рейтинг: 0 / 0
Ошибка вывода в файл
    #35030375
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMPactus wrote:
> Да я просто truncate на append заменил. Спасибо за помощь.
> Тема <http://www.sql.ru/forum/actualthread.aspx?tid=509021> Ответить

Лучше бы переделал чтобы файл только один раз открывался.
А то горбуха ведь ...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ошибка вывода в файл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]