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

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

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

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

29.04.2012, 19:50. Просмотров 501. Ответов 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 =========="
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2012, 19:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как записать несколько массивов, каждый в свой файл? (C++):

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

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

Записать в файл данные двух массивов в заданном формате - C++
Уважаемые программисты нужно создать 2 массива, которые вмещали в себе в первом - имя студента, во втором - его фамилия, и заполнить их...

Дано предложение. Записать каждый из его символов в файл. Какая структура файла наиболее целесобразна для реше - C++
Дано предложение. Записать каждый из его символов в файл. Какая структура файла наиболее целесобразна для решения этой задачи ?

Создать текстовый файл in.txt, куда записать несколько строк. Найти номер самой короткой строки - C++
1.Создать текстовый файл in.txt, куда записать несколько строк. Найти номер самой короткой строки. Буду благодарен ..

Как сделать класс, содержащий несколько безразмерных массивов? - C++
Добрый день! Подскажите пожалуйста, как создать класс, содержащий несколько безразмерных массивов? Нужно сделать что то вроде: class...

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

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

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

Что значит "закрывать потоки"? Как это сделать?
0
sannee
Просто хороший человек
363 / 156 / 12
Регистрация: 26.04.2011
Сообщений: 421
Завершенные тесты: 4
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; //Завершает программу
}
1
Alex Z
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
30.04.2012, 08:08  [ТС] #5
Заработало.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2012, 08:08
Привет! Вот еще темы с ответами:

Как сделать свой exe-файл? - C++
Можете пожалуйста подробно написать!:) Я знаю когда нажимаешь F5 в папке debug создается exe-файл. Но как сделать его не зависимым от...

Как подключить свой заголовочный файл? - C++
По книге Липпмана занимаюсь, нужно подключить заголовочный файл .h. Добавлял его как класс и как существующий элемент, но пишет одно и тоже...

Можно ли как нибудь вставить свой файл - C++
Можно ли как нибудь вставить свой файл в ехе и чтобы при запуске он копировался в папку Temp? Добавлено через 11 часов 49 минут ап! ...

Как подключить свой заголовочный файл в Borland 3.1 - C++
Друзья,у меня свой заголовочный файл с расширением .h ,который я буду вызывать в основном файле .cpp . Но при компиляции вызывает ошибку...


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
30.04.2012, 08:08
Ответ Создать тему
Опции темы

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