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

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

Восстановить пароль Регистрация
 
Фрутоняня
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 3
11.12.2012, 21:35     создать файл 1.part и записать в него первые x элементов массива. После чего, создать второй файл 2.part, куда записать оставшиеся в массиве элементы. #1
Не могу понять почему не работает вот этот кусок текста.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    
ofstream q ("1.part");
for (int i=0; i<10; ++i)
{
     q << mas [i];
     z++;
     if (z==x+1)
     {
          z=0;
          q.close();
          ofstream q ("2.part");
     }
}
q.close();
Смысловая нагрузка в нём следующая: есть массив mas из 10 интеджер-элементов, там цифры от 1 до 10. Число x - задаёт пользователь. Нужно создать файл 1.part и записать в него первые x элементов массива. После чего, создать второй файл 2.part, куда записать оставшиеся в массиве элементы.

Компилируется успешно, запускается. В результате создаёт 2 файла - в первом честно заносит первые x элементов, а во втором пустота. В чём проблема?

Добавлено через 29 минут
Ну же, ну же
Курсовая встала :с

Добавлено через 12 минут
БУМП!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2012, 21:35     создать файл 1.part и записать в него первые x элементов массива. После чего, создать второй файл 2.part, куда записать оставшиеся в массиве элементы.
Посмотрите здесь:

Создать двоичный файл и записать в него 15 чисел C++
[B]создать файл и записать в него структурированные данные.[/B] C++
C++ создать файл и записать в него структурированные данные
C++ создать новый двоичный файл и записать в него матрицу
Создать бинарный файл f и записать в него целые числа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
JlightenDev_C++
 Аватар для JlightenDev_C++
61 / 61 / 7
Регистрация: 12.08.2012
Сообщений: 150
11.12.2012, 21:42     создать файл 1.part и записать в него первые x элементов массива. После чего, создать второй файл 2.part, куда записать оставшиеся в массиве элементы. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <fstream>
 
int main(){
setlocale(LC_ALL, "RUS");
int mas[10] = {1,2,3,4,5,6,7,8,9,0};
std::ofstream q1("1.part");
std::ofstream q2("2.part");
for (int i=0; i<10; ++i){
    if(i < 2){
         q1 << mas [i];
         }
     else{
          q2 << mas [i];
          }
     }
    return 0;
    }
Вы используете одно и то же имя переменной(q);
Фрутоняня
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 3
12.12.2012, 20:57  [ТС]     создать файл 1.part и записать в него первые x элементов массива. После чего, создать второй файл 2.part, куда записать оставшиеся в массиве элементы. #3
Получается, что q.close() это до одного места?
и нельзя использовать ту же переменную для другого файла?

Добавлено через 23 часа 11 минут
А если мне нужно будет создать 100 файлов, я должен буду вручную прописать 100 переменных со switch case?
JlightenDev_C++
 Аватар для JlightenDev_C++
61 / 61 / 7
Регистрация: 12.08.2012
Сообщений: 150
15.12.2012, 01:35     создать файл 1.part и записать в него первые x элементов массива. После чего, создать второй файл 2.part, куда записать оставшиеся в массиве элементы. #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <fstream>
 
int main(){
    int mas[10] = {1,2,3,4,5,6,7,8,9,0};
    std::fstream file;
    file.open("1.part", std::fstream::out);
    for (int i = 0; i < 10; i++){
    file << mas [i];
    if (i == 2){
          file.close();
          file.open("2.part", std::fstream::out);
          }
    }
    file.close();
}
Сделай тогда так.
Yandex
Объявления
15.12.2012, 01:35     создать файл 1.part и записать в него первые x элементов массива. После чего, создать второй файл 2.part, куда записать оставшиеся в массиве элементы.
Ответ Создать тему
Опции темы

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