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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.72
Alex90
17 / 17 / 1
Регистрация: 30.01.2009
Сообщений: 103
#1

Запись и чтение из файла - C++

20.02.2009, 22:16. Просмотров 2295. Ответов 2
Метки нет (Все метки)

Здравствуйте не могли бы мне помочь разобраться, что не так. Есть две программы, одна для записи в файл “Writer.exe” а для чтения “Reader.exe”. Все создается, но когда начинает работать программа Reader не смотря на паузу оно проскакивает и завершает, если запустить программу через командную строку то пишет
name: =
age : -18483 или что то в таком роде. Может вы увидите, в чем проблема

“Writer.exe”
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
#include <fstream> // для файловых потоков 
#include <iostream> 
using namespace std;
 
class person // класс person 
{ 
protected: 
char name[80]; // имя человека 
short age; // возраст 
public:
void getData() // получить данные о человеке 
{ 
cout << "Enter name: "; cin >> name; 
cout << "Enter  age: "; cin >> age; 
} 
};
 
int main()
{ 
person pers; // создать объект 
pers.getData(); // получить данные 
// создать объект ofstream 
ofstream outfile("PERSON.DAT", ios::binary); 
// записать в него 
outfile.write(reinterpret_cast<char*>(&pers), sizeof(pers)); 
return 0;
}
“Reader.exe”
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
#include <fstream> // для файловых потоков 
#include <iostream> 
using namespace std; 
class person // класс person 
    { 
    protected: 
        char name[80]; // Имя человека 
        short age; // его возраст 
    public: 
        void showData() // вывести данные 
        { 
        cout << "Name: " << name << endl;
        cout << "Age : " << age << endl;
        }
    };
int main()
{ 
    person pers; // переменная типа person 
    ifstream infile("PERSON.DAT", ios::binary);// создать поток 
// чтение потока 
    infile.read(reinterpret_cast<char*>(&pers), sizeof(pers)); 
    pers.showData(); // вывести данные 
return 0;
system("PAUSE");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2009, 22:16     Запись и чтение из файла
Посмотрите здесь:

Си, Запись и Чтение из файла. C++
Запись и чтение из файла C++
C++ Запись и чтение из файла
Запись и чтение с файла C++
C++ запись\чтение из файла
Чтение из файла, запись в файл C++
Чтение/запись файла C++
C++ Чтение из файла и запись в файл
Запись и чтение с файла C++
Чтение и запись из файла C++
C++ Запись и чтение из файла
Запись и чтение структуры из файла C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Humanitis
172 / 164 / 6
Регистрация: 12.01.2009
Сообщений: 430
20.02.2009, 22:37     Запись и чтение из файла #2
C++
1
2
 return 0;  
 system("PAUSE");
местами поменяй
Otaka
1821 / 677 / 18
Регистрация: 11.12.2008
Сообщений: 1,019
20.02.2009, 22:58     Запись и чтение из файла #3
return 0 должно быть после system("PAUSE");

Добавлено через 19 минут 32 секунды
Я скопировал твой код в VisualC2008, все там прекрасно работает. В чем у тебя ошибка непонятно.
Попробуй отладчиком просмотреть что получается после каждого шага. и файл PERSON.DAT загляни. Может он у тебя не создается из-за защиты папки или что-то такое.
Yandex
Объявления
20.02.2009, 22:58     Запись и чтение из файла
Ответ Создать тему
Опции темы

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