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

Одна программа записывает данные в файл, а другая их считывает и выводит на экран - C++

Восстановить пароль Регистрация
 
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 87
08.01.2014, 19:59     Одна программа записывает данные в файл, а другая их считывает и выводит на экран #1
Задача состоит в том чтоб одна программа записала данные в файл а другая их считала и вывела на экран как полагается, запись и считывание через бинарный режим должны осуществляться. Имеется класс object и у него два класса наследника triangle и uravn.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int main(int argc,char* argv[])
{FILE* F;
F=fopen(argv[1],"wb+");
char p;
cout<<"vvedite kol-vo elementov";
int N;
cin>>N;
object** A;
A= new object* [N];
fwrite(&N,sizeof(int),1,F);
for(int i=0;i<N;i++)
    {cout<<"vvedite tip objekta t-triangle, u-uravneniya \n";
    cin>>p;
    if(p=='t') *(A+i)=new triangle;
    if(p=='u') *(A+i)=new uravn;
    cout<<"vvedite objekt "<<i+1<<"\n";
    A[i]->input();
    if(p=='t') {fwrite(&p,sizeof(char),1,F); fwrite(A[i],sizeof(triangle),1,F);};
    if(p=='u') {fwrite(&p,sizeof(char),1,F); fwrite(A[i],sizeof(uravn),1,F);};
    };
fclose(F);
return 0;
}
это программа которая создает бинарный файл
сначала записывает кол-во элементов а потом по одному тип и сам элемент.
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
int main(int argc,char* argv[])
{FILE* F;
object** A;
if(argc==2)
    {
    F=fopen(argv[1],"rb");
    int N;
    char p;
    fread(&N,sizeof(int),1,F);
    cout<<N;
    A=new object*[N];
    for(int i=0;i<N;i++)
        {fread(&p,sizeof(char),1,F);
        if(p=='t') A[i]=new triangle;
        if(p=='u') A[i]=new uravn;
        if(p=='t') {fread(&A[i],sizeof(triangle),1,F); cout<<"t";};
        if(p=='u') {fread(&A[i],sizeof(uravn),1,F); cout<<"u";};
    };                              //vvod */
    for(int i=0;i<N;i++)
        {cout<<"objekt "<<i+1<<":\n";
    cout<<A[i]->output();
    }
return 0;
};
я так понимаю что неправильно считывается/записывается тип класса наследника, ибо до cout<<A[i]->output(); все идет нормально, потом программа закрывается.

Добавлено через 7 минут
файл указывается через параметр, вторая программа правильно считывает количество объектов, а после начинаются непонятки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2014, 19:59     Одна программа записывает данные в файл, а другая их считывает и выводит на экран
Посмотрите здесь:

Программа, которая считывает текст из файла и выводит на экран строки, содержащие двузначные числа C++
C++ Программа считывает текст с клавиатуры и выводит на экран...
Нужна программа, которая считывает текст из файла и выводит на экран только предложения, не содержащие запятых C++
Списки и файлы. Программа, которая считывает английский текст и выводит на экран слова, начинающиеся с гласных букв C++
Не работает код (программа считывает из файла строку, убирает лишние пробелы и записывает в другой файл строку, словами наоборот) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
08.01.2014, 20:10     Одна программа записывает данные в файл, а другая их считывает и выводит на экран #2
чтение не в то место?
fread(&A[i],sizeof(triangle),1,F);

fread(A[i],sizeof(triangle),1,F);
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 87
08.01.2014, 20:10  [ТС]     Одна программа записывает данные в файл, а другая их считывает и выводит на экран #3
подскажите как можно, и можно ли проверить, каким классом наследником помечен элемент общего массива?
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 87
08.01.2014, 20:13  [ТС]     Одна программа записывает данные в файл, а другая их считывает и выводит на экран #4
Цитата Сообщение от DU Посмотреть сообщение
чтение не в то место?
fread(&A[i],sizeof(triangle),1,F);

fread(A[i],sizeof(triangle),1,F);
я конечно очень плохо понимаю в указателях, но пытался это место менять несколько раз, и ваш вариант тоже подвергался тестированию, результат не утешительный(
Миниатюры
Одна программа записывает данные в файл, а другая их считывает и выводит на экран  
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
08.01.2014, 20:17     Одна программа записывает данные в файл, а другая их считывает и выводит на экран #5
весь код выкладывайте. с классами triangle и с uravn
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 87
08.01.2014, 20:24  [ТС]     Одна программа записывает данные в файл, а другая их считывает и выводит на экран #6
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
70
71
72
73
74
75
76
77
class pset 
{public:
float x,y,z;
void input()
{cout<<"write a: ";
cin>>x;
cout<<"write b: ";
cin>>y;
cout<<"write c: ";
cin>>z;
};
void output()
{cout<<"("<<x<<","<<y<<","<<z<<") \n";
};
};
class object
{public:
virtual void input()=0;
virtual void output()=0;
virtual float S()=0;
};
class uravn: public object
{public:
pset K[2];
float P;
void input()
{
for(int i=0;i<2;i++)
{cout<<"koefficienty "<<i+1<<" uravneniya \n";
K[i].input();
}
};
void output()
{for(int i=0;i<2;i++)
{cout<<"koefficienty "<<i+1<<" uravneniya \n";
K[i].output();
}
}
float S()
{if(K[1].x*K[2].y!=K[1].y*K[2].x) return ((K[2].z*K[1].y-K[1].z*K[2].y)/(K[1].x*K[2].y-K[2].x*K[1].y))+((K[1].x*K[2].z-K[1].z*K[2].x)/(K[1].y*K[2].x-K[1].x*K[2].y));   //x+y
else return 666;
}
};
class triangle: public object
{public:
pset K[4];
float P;
void input()
{for(int i=0;i<4;i++)
{cout<<"vvedite koordinaty "<<i+1<<" vershiny tetraedra \n";
K[i].input();
}
}
 
void output()
{for(int i=0;i<4;i++)
{cout<<"koordinaty "<<i+1<<" vershiny tetraedra \n";
K[i].output();
}
}
float S()
{
pset AB;
pset AC;
pset AD;
AB.x=K[2].x-K[1].x;
AB.y=K[2].y-K[1].y;
AB.z=K[2].z-K[1].z;  
AC.x=K[3].x-K[1].x;
AC.y=K[3].y-K[1].y;
AC.z=K[3].z-K[1].z;
AD.x=K[4].x-K[1].x;
AD.y=K[4].y-K[1].y;
AD.z=K[4].z-K[1].z; 
return (AC.x*(AD.y*AB.z-AD.z*AB.y)+AC.y*(AD.z*AB.x-AD.x*AB.z)+AC.z*(AD.x*AB.y-AD.y*AB.x))/6; //должен возвращать объем тетраедра
}
};

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

Добавлено через 5 минут
полные программы получаются такие
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include "stdafx.h"
#include "math.h"
#include <iostream>
#include <stdio.h>
using namespace std;
 
class pset 
{public:
float x,y,z;
void input()
{cout<<"write a: ";
cin>>x;
cout<<"write b: ";
cin>>y;
cout<<"write c: ";
cin>>z;
};
void output()
{cout<<"("<<x<<","<<y<<","<<z<<") \n";
};
};
class object
{public:
virtual void input()=0;
virtual void output()=0;
virtual float S()=0;
};
class uravn: public object
{public:
pset K[2];
float P;
void input()
{
for(int i=0;i<2;i++)
{cout<<"koefficienty "<<i+1<<" uravneniya \n";
K[i].input();
}
};
void output()
{for(int i=0;i<2;i++)
{cout<<"koefficienty "<<i+1<<" uravneniya \n";
K[i].output();
}
}
float S()
{if(K[1].x*K[2].y!=K[1].y*K[2].x) return ((K[2].z*K[1].y-K[1].z*K[2].y)/(K[1].x*K[2].y-K[2].x*K[1].y))+((K[1].x*K[2].z-K[1].z*K[2].x)/(K[1].y*K[2].x-K[1].x*K[2].y));   //x+y
else return 666;
}
};
class triangle: public object
{public:
pset K[4];
float P;
void input()
{for(int i=0;i<4;i++)
{cout<<"vvedite koordinaty "<<i+1<<" vershiny tetraedra \n";
K[i].input();
}
}
 
void output()
{for(int i=0;i<4;i++)
{cout<<"koordinaty "<<i+1<<" vershiny tetraedra \n";
K[i].output();
}
}
float S()
{
pset AB;
pset AC;
pset AD;
AB.x=K[2].x-K[1].x;
AB.y=K[2].y-K[1].y;
AB.z=K[2].z-K[1].z;  
AC.x=K[3].x-K[1].x;
AC.y=K[3].y-K[1].y;
AC.z=K[3].z-K[1].z;
AD.x=K[4].x-K[1].x;
AD.y=K[4].y-K[1].y;
AD.z=K[4].z-K[1].z; 
return (AC.x*(AD.y*AB.z-AD.z*AB.y)+AC.y*(AD.z*AB.x-AD.x*AB.z)+AC.z*(AD.x*AB.y-AD.y*AB.x))/6; //должен возвращать объем тетраедра
}
};
int main(int argc,char* argv[])
{FILE* F;
object** A;
if(argc==2)
    {
    F=fopen(argv[1],"rb");
    int N;
    char p;
    fread(&N,sizeof(int),1,F);
    cout<<N;
    A=new object*[N];
    for(int i=0;i<N;i++)
        {fread(&p,sizeof(char),1,F);
        if(p=='t') {A[i]=new triangle; cout<<p;};
        if(p=='u') {A[i]=new uravn; cout<<p;};
        if(p=='t') {fread(A[i],sizeof(triangle),1,F);};
        if(p=='u') {fread(A[i],sizeof(uravn),1,F);};
        };
    for(int i=0;i<N;i++)
        {cout<<"objekt "<<i+1<<":\n";
    cout<<A[i]->S();
    }
//sortirovka 
/*for(int i=0; i<N; ++i)
    for(int j=i+1; j<N; ++j)
        if(A[j]->S()<A[i]->S()) swap(A[i],A[j]); 
cout<<"\n otsortirovannie massivi: \n";
*/
/*for(int i=0;i<N;i++)
{cout<<"\n objekt "<<i+1<<":\n";
A[i]->output();
if((A[i]->S())==666) cout<<"\n net kornei";
else cout<<"\n S= "<<A[i]->S();
}                                  //vivod*/
    }
return 0;
};
это та что вылетает, и должна выводить на экран данные
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
// input.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "math.h"
#include <iostream>
using namespace std;
 
class pset 
{public:
float x,y,z;
void input()
{cout<<"write a: ";
cin>>x;
cout<<"write b: ";
cin>>y;
cout<<"write c: ";
cin>>z;
};
void output()
{cout<<"("<<x<<","<<y<<","<<z<<") \n";
};
};
class object
{public:
virtual void input()=0;
virtual void output()=0;
virtual float S()=0;
};
class uravn: public object
{public:
pset K[2];
float P;
void input()
{
for(int i=0;i<2;i++)
{cout<<"koefficienty "<<i+1<<" uravneniya \n";
K[i].input();
}
};
void output()
{for(int i=0;i<2;i++)
{cout<<"koefficienty "<<i+1<<" uravneniya \n";
K[i].output();
}
}
float S()
{if(K[1].x*K[2].y!=K[1].y*K[2].x) return ((K[2].z*K[1].y-K[1].z*K[2].y)/(K[1].x*K[2].y-K[2].x*K[1].y))+((K[1].x*K[2].z-K[1].z*K[2].x)/(K[1].y*K[2].x-K[1].x*K[2].y));   //x+y
else return 666;
}
};
class triangle: public object
{public:
pset K[4];
float P;
void input()
{for(int i=0;i<4;i++)
{cout<<"vvedite koordinaty "<<i+1<<" vershiny tetraedra \n";
K[i].input();
}
}
 
void output()
{for(int i=0;i<4;i++)
{cout<<"koordinaty "<<i+1<<" vershiny tetraedra \n";
K[i].output();
}
}
float S()
{
pset AB;
pset AC;
pset AD;
AB.x=K[2].x-K[1].x;
AB.y=K[2].y-K[1].y;
AB.z=K[2].z-K[1].z;  
AC.x=K[3].x-K[1].x;
AC.y=K[3].y-K[1].y;
AC.z=K[3].z-K[1].z;
AD.x=K[4].x-K[1].x;
AD.y=K[4].y-K[1].y;
AD.z=K[4].z-K[1].z; 
return (AC.x*(AD.y*AB.z-AD.z*AB.y)+AC.y*(AD.z*AB.x-AD.x*AB.z)+AC.z*(AD.x*AB.y-AD.y*AB.x))/6; //должен возвращать объем тетраедра
}
};
int main(int argc,char* argv[])
{FILE* F;
F=fopen(argv[1],"wb+");
char p;
cout<<"vvedite kol-vo elementov";
int N;
cin>>N;
object** A;
A= new object* [N];
fwrite(&N,sizeof(int),1,F);
for(int i=0;i<N;i++)
    {cout<<"vvedite tip objekta t-triangle, u-uravneniya \n";
    cin>>p;
    if(p=='t') *(A+i)=new triangle;
    if(p=='u') *(A+i)=new uravn;
    cout<<"vvedite objekt "<<i+1<<"\n";
    A[i]->input();
    if(p=='t') {fwrite(&p,sizeof(char),1,F); fwrite(A[i],sizeof(triangle),1,F);};
    if(p=='u') {fwrite(&p,sizeof(char),1,F); fwrite(A[i],sizeof(uravn),1,F);};
    };
fclose(F);
return 0;
}
а это та что работает вроде бы нормально и заполняет файл для другой
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
08.01.2014, 20:42     Одна программа записывает данные в файл, а другая их считывает и выводит на экран #7
вот на коленке слабал объединение прог. весь ввод заменил на эмуляцию.
вроде работает. может у вас метод S падает при делении на ноль. так же есть выход
за пределы массивов. если у вас K размера 2, то K[2] - это выход за пределы массива.
индексация с нуля в плюсах. но при режиме рид-онли это не должно приводить к падению.
похоже что поведение программы зависит от того, что вы там вводите.

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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
#include "math.h"
#include <iostream>
 
using namespace std;
 
class pset 
{
public:
  float x,y,z;
 
  void input()
  {
    /*
    cout<<"write a: ";
    cin>>x;
    cout<<"write b: ";
    cin>>y;
    cout<<"write c: ";
    cin>>z;
    */
    x = 1;
    y = 2;
    z = 3;
  }
 
  void output()
  {
    cout<<"("<<x<<","<<y<<","<<z<<") \n";
  }
};
 
class object
{
public:
  virtual void input() = 0;
  virtual void output() = 0;
  virtual float S() = 0;
};
 
class uravn : public object
{
public:
  pset K[2];
  float P;
  virtual void input()
  {
    for (int i=0;i<2;i++)
    {
      cout<<"koefficienty "<<i+1<<" uravneniya \n";
      K[i].input();
    }
  }
 
  virtual void output()
  {
    cout << "--------------" << endl;
    for (int i=0;i<2;i++)
    {
      cout<<"koefficienty "<<i+1<<" uravneniya \n";
      K[i].output();
    }
  }
 
  float S()
  {
    if(K[1].x*K[2].y!=K[1].y*K[2].x) return ((K[2].z*K[1].y-K[1].z*K[2].y)/(K[1].x*K[2].y-K[2].x*K[1].y))+((K[1].x*K[2].z-K[1].z*K[2].x)/(K[1].y*K[2].x-K[1].x*K[2].y));   //x+y
    else return 666;
  }
};
 
class triangle: public object
{
public:
  pset K[4];
  float P;
  
  virtual void input()
  {
    for (int i=0;i<4;i++)
    {
      cout<<"vvedite koordinaty "<<i+1<<" vershiny tetraedra \n";
      K[i].input();
    }
  }
 
  virtual void output()
  {
    cout << "--------------" << endl;
    for (int i=0;i<4;i++)
    {
      cout<<"koordinaty "<<i+1<<" vershiny tetraedra \n";
      K[i].output();
    }
  }
 
  virtual float S()
  {
    pset AB;
    pset AC;
    pset AD;
    AB.x=K[2].x-K[1].x;
    AB.y=K[2].y-K[1].y;
    AB.z=K[2].z-K[1].z;  
    AC.x=K[3].x-K[1].x;
    AC.y=K[3].y-K[1].y;
    AC.z=K[3].z-K[1].z;
    AD.x=K[4].x-K[1].x;
    AD.y=K[4].y-K[1].y;
    AD.z=K[4].z-K[1].z; 
    return (AC.x*(AD.y*AB.z-AD.z*AB.y)+AC.y*(AD.z*AB.x-AD.x*AB.z)+AC.z*(AD.x*AB.y-AD.y*AB.x))/6; //должен возвращать объем тетраедра
  }
};
 
int main(int argc,char* argv[])
{
  const char* fileName = "d:\\tmp\\data.dat";
 
  {
    FILE* F;
    //F=fopen(argv[1],"wb+");
    F=fopen(fileName,"wb+");
    char p;
    cout<<"vvedite kol-vo elementov";
    //int N;
    //cin>>N;
    const int N = 4;
 
    object** A = new object* [N];
 
    fwrite(&N,sizeof(int),1,F);
 
    for (int i = 0; i < N; i++)
    {
      cout<<"vvedite tip objekta t-triangle, u-uravneniya \n";
      //cin>>p;
      p = ((i % 2) == 1) ? 't' : 'u';
 
      if(p=='t')
        *(A+i)=new triangle;
 
      if(p=='u')
        *(A+i)=new uravn;
 
      cout<<"vvedite objekt "<<i+1<<"\n";
      A[i]->input();
      if(p=='t')
      {
        fwrite(&p,sizeof(char),1,F); fwrite(A[i],sizeof(triangle),1,F);
      }
 
      if(p=='u')
      {
        fwrite(&p,sizeof(char),1,F); fwrite(A[i],sizeof(uravn),1,F);
      }
    }
 
    fclose(F);
  }
 
  {
    FILE* F;
    object** A;
    //if (argc==2)
    {
      //F=fopen(argv[1],"rb");
      F = fopen(fileName,"rb");
      int N;
      char p;
      fread(&N,sizeof(int),1,F);
      cout<<N;
      A=new object*[N];
      for (int i = 0; i < N; i++)
      {
        fread(&p,sizeof(char),1,F);
        if(p=='t') {A[i]=new triangle; cout<<p;};
        if(p=='u') {A[i]=new uravn; cout<<p;};
        if(p=='t') {fread(A[i],sizeof(triangle),1,F);};
        if(p=='u') {fread(A[i],sizeof(uravn),1,F);};
      }
 
      for(int i=0;i<N;i++)
      {
        cout<<"objekt "<<i+1<<":\n";
        //cout<<A[i]->S();
        A[i]->output();
      }
    }
  }
 
  return 0;
}
Layzie
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 87
08.01.2014, 21:00  [ТС]     Одна программа записывает данные в файл, а другая их считывает и выводит на экран #8
по поводу К[2] заметил спасибо,но проблема как я уже говорил в строке
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main(int argc,char* argv[])
{FILE* F;
object** A;
if(argc==2)
    {
    F=fopen(argv[1],"rb");
    int N;
    char p;
    fread(&N,sizeof(int),1,F);
    cout<<N;
    A=new object*[N];
    for(int i=0;i<N;i++)
        {fread(&p,sizeof(char),1,F);
        if(p=='t') {*(A+i)=new triangle; cout<<p;};
        if(p=='u') {*(A+i)=new uravn; cout<<p;};
        if(p=='t') {fread(A[i],sizeof(triangle),1,F);};
        if(p=='u') {fread(A[i],sizeof(uravn),1,F);};
        };
    for(int i=0;i<N;i++)
        {cout<<"objekt "<<i+1<<":\n";
        A[i]->output(); // проблема тут, если сделать эту строку комментарием, программа не умирает.
        }
,скопировал ваш код, критует
Миниатюры
Одна программа записывает данные в файл, а другая их считывает и выводит на экран  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2014, 21:08     Одна программа записывает данные в файл, а другая их считывает и выводит на экран
Еще ссылки по теме:

C++ Программа, которая считывает текст из файла и выводит на экран все его предложения в обратном порядке
Программа не записывает данные в файл C++
Программа, которая считывает текст из файла, и выводит на экран только цитаты C++

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

Или воспользуйтесь поиском по форуму:
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
08.01.2014, 21:08     Одна программа записывает данные в файл, а другая их считывает и выводит на экран #9
вообще осваивайте отладку. сильно пригодится.
по ассерту видно, что файл в каком-то месте не открылся.
я туда вбил свой путь: const char* fileName = "d:\\tmp\\data.dat";
а может вы что-то не то скопировали или скопировали и подредактировали что-то.
нажмите на окне повтор и студия покажет вам место ассерта. далее, ко стеку вызовов можно
поднятся до точки в вашем коде и посмотреть чему там равны переменные и т.п. в общем,
обычная отладка с которой подобные проблемы решаются без всяких проблем.
Yandex
Объявления
08.01.2014, 21:08     Одна программа записывает данные в файл, а другая их считывает и выводит на экран
Ответ Создать тему
Опции темы

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