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

Не всё записывается в файл. Ничего не понимаю - C++

Восстановить пароль Регистрация
 
DenKG
0 / 0 / 0
Регистрация: 23.12.2015
Сообщений: 138
05.06.2016, 22:19     Не всё записывается в файл. Ничего не понимаю #1
Здравствуйте. У меня появилась такая проблема: нужно записать в один файл данные из двух функций. Казалось бы, что ничего сложного. Но вот что происходит у меня: если стоит запись в файл только в одной функции, то в файл всё нормально записывается. Как только я добавляю запись в файл во вторую функцию, то в файл записываются данные только из второй функции, но не из обеих. Подскажите, пожалуйста, как исправить.
Первая функция:
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
void InFile(COMPANIES * final,int CompNum)  //Вывод в файл
{
    ofstream outlink;
    outlink.open("C://Users//УЩ//Documents//Курсовая//ConsoleApplication1//outfile.txt", ios::trunc);
    if (outlink.fail()) {
        cout << "Файл не может быть найден.";
    }
    outlink 
        << "\t\t\t\t--------------------------\n"
        << "\t\t\t\t|Фирмы-производители СКБД|\n"
        << "\t\t\t\t--------------------------\n";
    outlink << "|" << setw(20) << left << "Название компании"
        << "|" << setw(20) << left << "Количество продуктов"
        << "|" << setw(20) << left << "Продажи за год"
        << "|" << setw(20) << left << "Часть рынка %";
    for (int i = 0; i < CompNum; i++) {
 
        outlink << "\n+--------------------+--------------------+--------------------+--------------------+\n"
            << "|" << setw(20) << left << final[i].NAME
            << "|" << setw(20) << left << final[i].PRODUCTNUMBER
            << "|" << setw(20) << left << final[i].YEARSALESVOLUME
            << "|" << setw(20) << left << final[i].MARKETPERCENT;
    }
    outlink <<"\n+--------------------+--------------------+--------------------+--------------------+\n";
    outlink.close();
}
Вторая функция:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Выше идет обычная сортировка
ofstream outlink2;
    outlink2.open("C://Users//УЩ//Documents//Курсовая//ConsoleApplication1//outfile.txt");
    if (outlink2.fail()) {
        cout << "Файл не может быть найден.";
    }
    outlink2 << "Отсортированная таблица: ";
    outlink2 << "\n+--------------------+--------------------+--------------------+--------------------+\n"
        << "|" << setw(20) << left << "Название компании"
        << "|" << setw(20) << left << "Количество продуктов"
        << "|" << setw(20) << left << "Продажи за год"
        << "|" << setw(20) << left << "Часть рынка %" << "|";
    for (int i = 0; i < CompNum; i++) {
 
        outlink2 << "\n+--------------------+--------------------+--------------------+--------------------+\n"
            << "|" << setw(20) << left << final[i].NAME
            << "|" << setw(20) << left << final[i].PRODUCTNUMBER
            << "|" << setw(20) << left << final[i].YEARSALESVOLUME
            << "|" << setw(20) << left << final[i].MARKETPERCENT << "|";
    }
    outlink2 << "\n+--------------------+--------------------+--------------------+--------------------+\n";
    outlink2.close();
Добавлено через 48 минут
Может, программа просто перезаписывает данные? Есть какая-то функция, которая запрещает перезапись?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2016, 22:19     Не всё записывается в файл. Ничего не понимаю
Посмотрите здесь:

C++ Ничего не понимаю в языках программирования но хочу создать свою программу.
C++ Вводишь текст, нажимаешь на кнопку и всё записывается в фаил(WinApi или Visual C++)
C++ Выручайте! Нужно переделать прогу под двусвязный список.ничего не понимаю)
Не могу понять почему в файл OUTPUT.TXT ничего не записывается C++
C++ Слишком сложный код программы, ничего не понимаю(
C++ Результат не записывается в файл
C++ Почему я ничего не понимаю в C++?
В файл записывается мусор C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
stzer
38 / 59 / 17
Регистрация: 26.10.2013
Сообщений: 172
Завершенные тесты: 2
05.06.2016, 22:39     Не всё записывается в файл. Ничего не понимаю #2
DenKG, попробуйте открыть файл в режиме "добавления" с помощью std::ios_base::app.
C++
1
outlink2.open("C://Users//УЩ//Documents//Курсовая//ConsoleApplication1//outfile.txt", std::ios_base::app);
DenKG
0 / 0 / 0
Регистрация: 23.12.2015
Сообщений: 138
05.06.2016, 23:00  [ТС]     Не всё записывается в файл. Ничего не понимаю #3
Цитата Сообщение от stzer Посмотреть сообщение
DenKG, попробуйте открыть файл в режиме "добавления" с помощью std::ios_base::app.
Спасибо большое, помогло
Yandex
Объявления
05.06.2016, 23:00     Не всё записывается в файл. Ничего не понимаю
Ответ Создать тему
Опции темы

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