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

Запись информации в документ и счение егою - C++

Восстановить пароль Регистрация
 
Apmyp /7
3 / 3 / 0
Регистрация: 14.10.2009
Сообщений: 76
26.05.2010, 00:55     Запись информации в документ и счение егою #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
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
66
67
68
69
#include <iostream>
#include <conio>
#include <iomanip>
#include <fstream>
using namespace std;
const int n=3;
struct TDarbin {char imja[30]; int vozrast; int deti;};
fstream f;
 
void iev(TDarbin Darbin)
{
      if(sizeof(f)==0) f.open("dati.txt", ios::out);
      else f.open("dati.txt", ios::app);
             cout<<"Imja: ";cin>>(Darbin.imja);
             cout<<"Vozrast.: ";cin>>Darbin.vozrast;
             cout<<"Koli4estvo detei: ";cin>>Darbin.deti;
      f.write((char*)&Darbin, sizeof(TDarbin));
      f.close();
};
 
void izv(int nr, TDarbin Darbin)
{
int n=0;
double vid;
              f.open("dati.txt", ios::in);
              f.seekg(0);
      while(n<nr)
 {
      if(f.read((char*)&Darbin, sizeof(TDarbin)));
     {
            n++;
            cout<<"\n\n"<<n<<".Indeks Zapisi";
            cout<<"\nImja: "<<Darbin.imja;
            cout<<"\nVozrast.: "<<Darbin.vozrast;
            cout<<"\nKoli4estvo detei: "<<Darbin.deti;
 
     }
 }
f.close();
};
 
int sizeoffile()
{
  int nr=0;
  f.open("dati.txt", ios::ate);
  nr=f.tellp()/sizeof(TDarbin);
f.close();
return nr;
}
 
void main()
{
int i,k,nr; struct TDarbin Darbin;
      do
        {
          clrscr();
          nr=sizeoffile();
          cout << "\n Koli4estvo su6estvuju6ih zapisei: " << nr;
          cout<<"\n 0 - zakon4itj\n 1 - vvesti zapisj\n 2 - prosmotretj vse zapisi\n Vvesti nomer: ";
          cin>>i;
          if(i==1) iev(Darbin);
          if(i==2)
             {
               izv(nr, Darbin);
               getch();
             }
        }
while(i!=0);
}
Вообщем пытался реализовать программу с записей и чтением информации с\в текстовой документ, но почему то не выходит. В папке с проектом создаю документ. Запускаю компилятор. Вижу надпись о н-том числе существующих записей(чего не должно быть), после чего программа зависает. Ок, пробую добавить запись, тоже не выходит, единственное, что работает, это выход, укажите мне, что не так, а то уже битый час сижу, выдаёт не понятную ошибку в 12 строчке, но дело я пологаю не только в этом, а ещё нужно добавить функцию с поиском информации по индексу записи... Нужна срочная помощ, расчитываю на вашу отзывчивость!

Добавлено через 2 часа 4 минуты
До сих пор не могу разобряться, сейчас повешусь....

Добавлено через 4 часа 32 минуты
обламываете вы мои надежды...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2010, 00:55     Запись информации в документ и счение егою
Посмотрите здесь:

Запись информации в конец файла C++
Чтение из stdin и запись в stdout бинарной информации C++
C++ Запись, хранение и предоставление информации из файла
Запись в базовый класс информации из наследников C++
C++ Запись и считывание информации в WAV-файл
C++ Запись данных в Текстовый документ
Считывание, Сортировка и Запись массива в текстовый документ C++
C++ Шифрование информации и запись в файл с последующей расшифровкой

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
26.05.2010, 06:16     Запись информации в документ и счение егою #2
C++
1
if(sizeof(f)==0) f.open("dati.txt", ios::out);
sizeof - это одноместная операция, которая вычисляет размер объекта в байтах
например sizeof 1 вычисляет, сколько байт нужно для хранения еденицы
sizeof f вычисляет сколько байт нужно для хранения объекта, в который подключается файл (то есть управляющая структура, которая может хранить разные данные для файла)
а чтобы узнать размер файла, нужно делать что-то вроде ftell() только по cpp-шному

что-нибудь вроде f.tell() или вроде того, но перед этим открыть файл
Yandex
Объявления
26.05.2010, 06:16     Запись информации в документ и счение егою
Ответ Создать тему
Опции темы

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