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

Не понятная ошибка при чтении из файла - C++

Восстановить пароль Регистрация
 
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
28.10.2010, 16:14     Не понятная ошибка при чтении из файла #1
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
#include<iostream>
#include<iomanip>
#include<string>
#include<fstream>
using namespace std;
class Person
{
protected:
    int number;
    string fio;
public:
    void input()
    {
        cout << "Введите номер: ";
        cin >> number;
        cout << "Введите ФИО: ";
        cin >> fio;
    }
    void print()
    {
        cout << "Номер: " << number;
        cout << "\tФИО: " << fio << endl;
    }
};
int main()
{
    setlocale(LC_ALL,"Russian");
    Person pers;
    fstream file;
    file.open("test.dat",ios::binary|ios::in);
    //pers.input();
    //file.write(reinterpret_cast<char*>(&pers),sizeof(pers));
    file.read(reinterpret_cast<char*>(&pers),sizeof(pers));//вот после этой строчки выпадает ошибка (отправлять/не отправлять :))
    pers.print();
    return EXIT_SUCCESS;
}
Запись в файле есть\

Добавлено через 41 минуту
Получается данные считываются, но с какойто ошибкой\
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2010, 16:14     Не понятная ошибка при чтении из файла
Посмотрите здесь:

Ошибка при чтении файла C++
Ошибка при чтении из файла C++
Ошибка при чтении/записи из бинарного файла C++
ошибка при чтении бинарного файла C++
C++ Ошибка при чтении из текстового файла
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.10.2010, 16:16     Не понятная ошибка при чтении из файла #2
LineStown, Данные не записываются даже при таком. Даже если поменять в open на ios::out и раскомментировать ввод и запись соответственно.
Sudoki
124 / 64 / 1
Регистрация: 19.04.2010
Сообщений: 196
28.10.2010, 16:20     Не понятная ошибка при чтении из файла #3
Может надо для класса Person определить друзей
friend fstream& out() ...
тогда он правильно будет записываться и читаться из потока
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
28.10.2010, 17:27  [ТС]     Не понятная ошибка при чтении из файла #4
Цитата Сообщение от Lavroff Посмотреть сообщение
LineStown, Данные не записываются даже при таком. Даже если поменять в open на ios::out и раскомментировать ввод и запись соответственно.
Совершенно верно, при такой записи - данные сохраняются, но чтение идет с ошибкой\
C++
1
file.open("test.dat",ios::binary|ios::in|ios::out|ios::app);
Добавлено через 1 час 6 минут
Проблема найдена. Не хочеть работать тип string. После замена на char[] и курения мануалов всё заработало\
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
28.10.2010, 17:51     Не понятная ошибка при чтении из файла #5
std::string ?
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
28.10.2010, 18:31  [ТС]     Не понятная ошибка при чтении из файла #6
Цитата Сообщение от M128K145 Посмотреть сообщение
std::string ?
C++
1
2
3
protected:
        int number;
        string fio;
Yandex
Объявления
28.10.2010, 18:31     Не понятная ошибка при чтении из файла
Ответ Создать тему
Опции темы

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