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

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

Войти
Регистрация
Восстановить пароль
 
Alex Z
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
#1

Как записать несколько массивов, каждый в свой файл? - C++

29.04.2012, 19:50. Просмотров 467. Ответов 4
Метки нет (Все метки)

Я недавно спрашивал здесь, как записать в файл. Мне подсказали. Вот такой вариант работает:
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
#include <iostream>
using namespace std;
 
#include <fstream>
 
#include <conio.h> // чтобы использовать функцию getch()
 
int main() 
{
    const int size = 10;
    
    double my_array_1[size];
    double my_array_2[size];
    double my_array_3[size];
    
    for (int j = 0; j < size; j++)
    {
        my_array_1[j] = j + 23.0;
        my_array_2[j] = j + 23.0;
        my_array_3[j] = j + 23.0;
    }
    
    ofstream fout("my_array_1.txt", ios::out);
    for (int j = 0; j < size; j++)
    {
        fout << my_array_1[j] << " ";
    }
                        
    cout << endl;
    getch();  //Задерживает экран
    return 0; //Завершает программу
}
В папке проекта создаётся файл "my_array_1.txt" и в нём строчка:

23 24 25 26 27 28 29 30 31 32

Мне надо немного поменять. У меня есть 3 массива. И каждый надо записать в свой файл. Написал так:
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
41
42
43
44
#include <iostream>
using namespace std;
 
#include <fstream>
 
#include <conio.h> // чтобы использовать функцию getch()
 
int main() 
{
    const int size = 10;
    
    double my_array_1[size];
    double my_array_2[size];
    double my_array_3[size];
    
    for (int j = 0; j < size; j++)
    {
        my_array_1[j] = j + 23.0;
        my_array_2[j] = j + 23.0;
        my_array_3[j] = j + 23.0;
    }
 
    ofstream fout("my_array_1.txt", ios::out);
    for (int j = 0; j < size; j++)
    {
        fout << my_array_1[j] << " ";
    }
 
    ofstream fout("my_array_2.txt", ios::out);
    for (int j = 0; j < size; j++)
    {
        fout << my_array_2[j] << " ";
    }
 
    ofstream fout("my_array_3.txt", ios::out);
    for (int j = 0; j < size; j++)
    {
        fout << my_array_3[j] << " ";
    }
    
    cout << endl;
    getch();  //Задерживает экран
    return 0; //Завершает программу
}
Выдаёт 1 ошибку:

"1>------ Построение начато: проект: 7_2D_Array, Конфигурация: Debug Win32 ------
1>Построение начато 29.04.2012 22:53:01.
1>ClCompile:
1> 25_2D_Array.cpp
1>d:\my documents\3\7_2d_array\25_2d_array.cpp(29): error C2374: fout: переопределение; множественная инициализация
1> d:\my documents\3\7_2d_array\25_2d_array.cpp(23): см. объявление "fout"
1>d:\my documents\3\7_2d_array\25_2d_array.cpp(32): error C2088: <<: недопустимо для class
1>d:\my documents\3\7_2d_array\25_2d_array.cpp(35): error C2374: fout: переопределение; множественная инициализация
1> d:\my documents\3\7_2d_array\25_2d_array.cpp(23): см. объявление "fout"
1>d:\my documents\3\7_2d_array\25_2d_array.cpp(38): error C2088: <<: недопустимо для class
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:00.96
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 =========="
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2012, 19:50     Как записать несколько массивов, каждый в свой файл?
Посмотрите здесь:

C++ Как наложить свой текст на имеющийся граф.файл в VC++ 6.0
C++ записать несколько элементов в вектор сразу, как в массиве
C++ Можно ли как нибудь вставить свой файл
C++ Как в файл записать несколько сточек?
Как сделать класс, содержащий несколько безразмерных массивов? C++
C++ Как подключить свой заголовочный файл в Borland 3.1
Как правильно подключить свой заголовочный файл? C++
C++ Как записать команду в консоль windows несколько раз?
C++ Как сделать свой exe-файл?
C++ Как в с++ сделать так, чтобы пользователь смог загрузить свой файл?
C++ Дано предложение. Записать каждый из его символов в файл. Какая структура файла наиболее целесобразна для реше
C++ Записать в файл несколько строк, а затем записать несколько строк из этого файла в другой

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sannee
Просто хороший человек
 Аватар для sannee
362 / 155 / 12
Регистрация: 26.04.2011
Сообщений: 421
Завершенные тесты: 3
29.04.2012, 20:02     Как записать несколько массивов, каждый в свой файл? #2
Цитата Сообщение от Alex Z Посмотреть сообщение
ofstream fout("my_array_2.txt", ios::out);
Вы используете одинаковые имена для разных потоков. Сделайте имена потоков разными

Добавлено через 3 минуты
ааа, еще не забывайте закрывать потоки.
Alex Z
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
29.04.2012, 20:14  [ТС]     Как записать несколько массивов, каждый в свой файл? #3
Цитата Сообщение от sannee Посмотреть сообщение
Вы используете одинаковые имена для разных потоков. Сделайте имена потоков разными

Добавлено через 3 минуты
ааа, еще не забывайте закрывать потоки.
Как сделать эти имена разными? Что написать?

Что значит "закрывать потоки"? Как это сделать?
sannee
Просто хороший человек
 Аватар для sannee
362 / 155 / 12
Регистрация: 26.04.2011
Сообщений: 421
Завершенные тесты: 3
29.04.2012, 21:04     Как записать несколько массивов, каждый в свой файл? #4
хотябы вот так:
#include <iostream>
using namespace std;

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
41
#include <fstream>
 
#include <conio.h> // чтобы использовать функцию getch()
 
int main() 
{
    const int size = 10;
 
    double my_array_1[size];
    double my_array_2[size];
    double my_array_3[size];
 
    for (int j = 0; j < size; j++)
    {
        my_array_1[j] = j + 23.0;
        my_array_2[j] = j + 24.0;
        my_array_3[j] = j + 25.0;
    }
 
    ofstream fout1("my_array_1.txt", ios::out);
    for (int j = 0; j < size; j++)
    {
        fout1 << my_array_1[j] << " ";
    }
    fout1.close();
    ofstream fout2("my_array_2.txt", ios::out);
    for (int j = 0; j < size; j++)
    {
        fout2 << my_array_2[j] << " ";
    }
    fout2.close();
    ofstream fout3("my_array_3.txt", ios::out);
    for (int j = 0; j < size; j++)
    {
        fout3 << my_array_3[j] << " ";
    }
    fout3.close();
    cout << endl;
    getch();  //Задерживает экран
    return 0; //Завершает программу
}
Alex Z
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
30.04.2012, 08:08  [ТС]     Как записать несколько массивов, каждый в свой файл? #5
Заработало.
Yandex
Объявления
30.04.2012, 08:08     Как записать несколько массивов, каждый в свой файл?
Ответ Создать тему
Опции темы

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