0 / 0 / 0
Регистрация: 28.05.2018
Сообщений: 21
1

Запись в файл и чтение из файла

13.01.2019, 20:23. Показов 1735. Ответов 1
Метки нет (Все метки)

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
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <string>
#include <vector>
#include <string>
#include <fstream>
#include <iomanip>
#include <algorithm>
#include <conio.h>
#include <fstream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(0, "");
    string fname, fname1, fname2;
    double *arr1;
    int n,m,i;
    double k,a; 
    cout<<"Введите имя файла №1:"<<endl;
    getline(cin, fname1);
    fname1=fname1+".dat";
    cout<<"Введите количество чисел для создания файла №1:"<<endl;
    cin >> n;
    arr1=new double [n];
    cout<<"Введите вещественные числа с новой строки для файла №1 с новой строки каждое:"<<endl;
    for(i=0; i<n; ++i)  // запишем n вещественных чисел в массив
        {
            cin>>k;
            arr1[i]=k;
        }
    fstream f;
    f.open(fname1,ios::out|ios::binary);  // открываем файл как бинарный для записи
    for(i=0; i<n; ++i)  // запишем n вещественных чисел
        {
            k=arr1[i];
            f.write((char*)&k,sizeof(double));
        }
    f.close();
 
    // откроем и посмотрим, что записалось
    cout<<endl<<"Прочитано:"<<endl;
    f.open(fname1, ios::in|ios::binary);
    while(!f.eof())
        {
            f.read((char*)&k,sizeof(double));
            cout<<k<<endl;
        }
    f.close();
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2019, 20:23
Ответы с готовыми решениями:

Чтение файла, чтение названия папки где находится файл, запись данных на PHP
Допустим у нас есть структура с папками типа Large -&gt; Vehicles -&gt; Firetruck_0 В этой папке лежит...

Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран
1.Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран...

Запись в файл, чтение из файла, сохранени в файл, не работают эти функции
Здравствуйте. Не работает методы: Save() — сохранение фигуры (объекта) в файл, Load() —...

Открытие и чтение файла, запись в файл, помещение результата в файл
Eсть алгоритм решения задачи. Не знаю только каким способом открыть файлы и как в них что-либо...

1
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
13.01.2019, 20:34 2
Лучший ответ Сообщение было отмечено ararararagi-kun как решение

Решение

Флаг eof устанавливается после неудачной попытки чтения, а не при реальном достижении конца файла. А вот read() возвращает ссылку на поток, который может быть приведен к типу bool и вернет true, если нет ошибок. С учетом всего этого, пишем так:
C++
1
2
3
while(f.read((char*)&k, sizeof(double))) {
    cout << k << endl;
}
1
13.01.2019, 20:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2019, 20:34
Помогаю со студенческими работами здесь

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

Запись в файл и чтение с файла
Здравствуйте! Подскажите как дописывать в файл, сейчас вот так записываю: String^ fileName =...

Запись в файл. Чтение из файла.
Доброго времени суток! У меня вопрос по работе с файлом. Передо мной задача считать данные(числа)...

Чтение из файла/Запись в файл
Приветствую всех! Понимаю что тема заезженная вдоль и поперек, но помощь мне нужна срочно! Мне...

Чтение-запись из файла в файл
Написать 2 программы копирования файлов. Имена файлов для копирования задаются в командной...

Запись в файл, чтение из файла
Каким образом можно реализовать чтение из файла только 1 строки,используя ifstream и fstream,если...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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