Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136

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

29.04.2012, 19:50. Показов 1321. Ответов 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(2 9): error C2374: fout: переопределение; множественная инициализация
1> d:\my documents\3\7_2d_array\25_2d_array.cpp(2 3): см. объявление "fout"
1>d:\my documents\3\7_2d_array\25_2d_array.cpp(3 2): error C2088: <<: недопустимо для class
1>d:\my documents\3\7_2d_array\25_2d_array.cpp(3 5): error C2374: fout: переопределение; множественная инициализация
1> d:\my documents\3\7_2d_array\25_2d_array.cpp(2 3): см. объявление "fout"
1>d:\my documents\3\7_2d_array\25_2d_array.cpp(3 8): error C2088: <<: недопустимо для class
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:00.96
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 =========="
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.04.2012, 19:50
Ответы с готовыми решениями:

Как записывать несколько одномерных массивов, и несколько двумерных массивов в один единственный текстовый файл
Как записывать несколько одномерных массивов, и несколько двумерных массивов в один единственный текстовый файл? Что-то не видел других...

Как на архив поставить несколько паролей: на каждый файл в архиве отдельный пароль?
Доброго времени суток. Уважаемые господа форумчани и програмисты) Интересует вопрос, как на архив поставить несколько паролей. то есть...

Как в файл записать несколько сточек?
Нужно написать программу которая будет записывать в файл ФИО и возраст студента (на каждую новую строчку новый студен). Помогите пожалуйста...

4
Просто хороший человек
 Аватар для sannee
392 / 182 / 24
Регистрация: 26.04.2011
Сообщений: 434
29.04.2012, 20:02
Цитата Сообщение от Alex Z Посмотреть сообщение
ofstream fout("my_array_2.txt", ios::out);
Вы используете одинаковые имена для разных потоков. Сделайте имена потоков разными

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

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

Что значит "закрывать потоки"? Как это сделать?
0
Просто хороший человек
 Аватар для sannee
392 / 182 / 24
Регистрация: 26.04.2011
Сообщений: 434
29.04.2012, 21:04
хотябы вот так:
#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; //Завершает программу
}
1
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
30.04.2012, 08:08  [ТС]
Заработало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.04.2012, 08:08
Помогаю со студенческими работами здесь

Записать в файл несколько строк, а затем записать несколько строк из этого файла в другой
Заранее создать текстовый файл 1.txt и записать в него несколько строк текста. Программа должна получить из него второй файл 2.txt, в...

Записать в файл f2 последовательность массивов, получающихся преобразованием исходных массивов
Pascal Дан файл h1, компонентами которого являются массивы целых чисел a0,a1,...,a7. Записать в файл f2 последовательность массивов,...

Типизированные файлы. Записать в файл Н2 последовательность массивов, получающихся преобразованием исходных массивов
Дан файл Н1, элементами которого являются массивы целых чисел а0,а1,…,а4. Записать в файл Н2 последовательность массивов, получающихся...

Как сделать чтобы приложение запускало несколько процессов, каждый из которых использовал отдельный файл настроек XML?
Т.е. Приложение имеет один и тотже алгоритм работы, но разные входящие данные. Как сделать чтобы приложение запускало несколько...

Как одну или несколько переменных записать в файл и при запуске считать их
Всем привет. Скорее всего уже задавался данный вопрос, но я не нашел(ИЛИ слепой). Как одну или несколько переменных записать в файл и при...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru