Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
25 / 19 / 8
Регистрация: 05.04.2019
Сообщений: 338
1

Некорректно работает вывод из файла

25.10.2019, 21:59. Показов 2267. Ответов 8

Author24 — интернет-сервис помощи студентам
Нужно переписать данные из одного файла в массив,а потом в другой файл.

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "");
    ofstream folder("start.txt"); 
    cout << "Сколько чисел будет записано в файл?" << endl;
    int countofnumbers;
    cin >> countofnumbers;
    int *numbers = new int[countofnumbers]; //количество чисел
    int* buffer = new int[countofnumbers]; //буфер 
    cout << "Введите целые числа для записи в файл: " << endl;
    for (short int i = 0; i < countofnumbers; i++)
    {
        cin >> numbers[i];
    }
    cout << "Создание файла..." << endl;
    if (!folder.is_open())
    {
        cout << "Ошибка открытия файла" << endl;
    }
    else
    {
        cout << "Файл успешно создан!" << endl;
        cout << "Запись чисел в файл..." << endl;
        for (int i = 0; i < countofnumbers; i++)
        {
            folder << " " << numbers[i];
        }                    
    }                
    cout << "Создание нового файла..." << endl;                
    ofstream newfolder("result.txt"); //ofstream - запись
    ifstream readfolder("start.txt"); //ifstream - чтение
    readfolder.open("start.txt");
    if (!newfolder.is_open())
    {
        cout << "Ошибка создания файла..." << endl;
    }
    else
    {
        cout << "Файл успешно создан!" << endl;
        cout << "Запись отсортированых чисел в новый файл..." << endl;
        for (short int i = 0; i < countofnumbers; i++) //считывание с файла "START" в буфер
        {
            readfolder >> buffer[i];
        }
        for (short int i = 0; i < countofnumbers; i++) //запись данных в новый файл "RESULT
        {
            newfolder << buffer[i];
        }
        for (short int i = 0; i < countofnumbers; i++) //Вывод данных с файла RESULT
        {
            cout << " " << buffer[i];
        }
    }
    
 
 
 
    cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
    delete[] numbers;
    delete[] buffer;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2019, 21:59
Ответы с готовыми решениями:

Некорректно работает вывод вещественных чисел в массиве
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; void ReadArray(double a)

Вывод наибольшего числа в массиве. Некорректно работает
Добрый день написал простенькую программку которая выводит наибольшее число в массиве дабы...

Некорректно работает сохранение или открытие файла
День добрый! Сохраняю вектор в файл, а потом загружаю содержание файла в вектор, строк в открытом...

Вывод из файла работает на так как надо
Привет всем) У меня проблемка.. Я делаю тест на с++ и проблема в том что последнюю строчку из файла...

8
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
25.10.2019, 22:31 2
Цитата Сообщение от SkYMaaN Посмотреть сообщение
Введите целые числа для записи в файл:
что-то не то делаете. данные уже находятся в файле. их нужно записать в массив, а потом в другой файл. (количество данных заранее неизвестно)
0
25 / 19 / 8
Регистрация: 05.04.2019
Сообщений: 338
25.10.2019, 23:19  [ТС] 3
Как вытащить данные из первого файла, перекинуть в массив, а затем в другой файл?
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
26.10.2019, 01:07 4
сначала сообщите что представляют собой данные
0
Just Do It!
3841 / 2286 / 636
Регистрация: 23.09.2014
Сообщений: 7,072
Записей в блоге: 3
26.10.2019, 05:06 5
Лучший ответ Сообщение было отмечено SkYMaaN как решение

Решение

Цитата Сообщение от SkYMaaN Посмотреть сообщение
Некорректно работает вывод из файла
поправил:
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{   setlocale(LC_ALL, "");
    
    cout << "Сколько чисел будет записано в файл?" << endl;
    int countofnumbers;
    cin >> countofnumbers;
    
    int* numbers = new int[countofnumbers]; //количество чисел
    int* buffer  = new int[countofnumbers]; //буфер
    
    cout << "Введите целые числа для записи в файл: " << endl;
    for (short int i = 0; i < countofnumbers; i++)
    {   cin >> numbers[i];
    }
    
    cout << "Создание файла..." << endl;
    ofstream folder("start.txt");
    if (!folder.is_open())
    {   cout << "Ошибка открытия файла" << endl;
    }
    else
    {   cout << "Файл успешно создан!"   << endl;
        cout << "Запись чисел в файл..." << endl;
        for (int i = 0; i < countofnumbers; i++)
        {   folder << numbers[i] << " ";
        }
    }
    folder.close();
    
    cout << "Создание нового файла..." << endl;
    ofstream newfolder ("result.txt"); //ofstream - запись
    ifstream readfolder("start.txt" ); //ifstream - чтение
    if (!newfolder.is_open())
    {   cout << "Ошибка создания файла..." << endl;
    }
    else
    {   cout << "Файл успешно создан!" << endl;
        cout << "Запись отсортированых чисел в новый файл..." << endl;
        for (short int i = 0; i < countofnumbers;
                i++) //считывание с файла "START" в буфер
        {   readfolder >> buffer[i];
        }
        readfolder.close();
        
        for (short int i = 0; i < countofnumbers;
                i++) //запись данных в новый файл "RESULT
        {   newfolder << buffer[i];
        }
        newfolder.close();
        
        for (short int i = 0; i < countofnumbers; i++) //Вывод данных с файла RESULT
        {   cout << " " << buffer[i];
        }
    }
 
    cout << "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
    delete[] numbers;
    delete[] buffer;
}
1
25 / 19 / 8
Регистрация: 05.04.2019
Сообщений: 338
26.10.2019, 12:50  [ТС] 6
Это всё из-за незакрытия файлов?
0
Just Do It!
3841 / 2286 / 636
Регистрация: 23.09.2014
Сообщений: 7,072
Записей в блоге: 3
26.10.2019, 13:20 7
Цитата Сообщение от SkYMaaN Посмотреть сообщение
Это всё из-за незакрытия файлов?
нет.

исправил это:
C++
35
36
    ifstream readfolder("start.txt"); //ifstream - чтение
    readfolder.open("start.txt");
Можно,
либо так:
C++
1
    ifstream readfolder("start.txt"); //ifstream - чтение
либо так
C++
1
2
    ifstream readfolder; //ifstream - чтение
    readfolder.open("start.txt");
а незакрытие ресурсов тож очень чревато жирными ошибками.
1
25 / 19 / 8
Регистрация: 05.04.2019
Сообщений: 338
26.10.2019, 13:26  [ТС] 8
А в чём там ошибка?
0
Just Do It!
3841 / 2286 / 636
Регистрация: 23.09.2014
Сообщений: 7,072
Записей в блоге: 3
26.10.2019, 13:54 9
Цитата Сообщение от SkYMaaN Посмотреть сообщение
А в чём там ошибка?
что бы сказать точно, нужно распарсить исходники библиотеки <fstream>.
для начала их(исходники) нужно иметь.
0
26.10.2019, 13:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.10.2019, 13:54
Помогаю со студенческими работами здесь

Вывод данных в файл некорректно работает
Приветствую вас.Снова необходима ваша помощь. Есть код echo if %I% GTR 0 goto...

При нажатии кнопки мыши - на экране, в том месте установить символ "l"
Здравствуйте господа! У меня проблема с программой, очень нужна помощь . Программа должна...

Чтение с файла работает некорректно
Возникают проблеммы при считывании с файла елементов после удаления одного из них. Например, вводим...

Вывод индекса элемента массива, код работает некорректно
задается массив от -20 до 20 должен выводить индекс выбранного числа или же сообщение что...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru