Ik moet een opdracht maken die vanaf 1 regel cijfers inleest. Hier moet ik dan later een driehoek van maken.De cijfers kunnen varieren van 1 tot 1000 en zijn gescheiden door een tab de 3 cijfers worden beeindigd door END aan het einde van de file te zetten.
Dit character voor character inlezen gaat goed, ook detecteerd hij de tabs enzo. Alleen als ik ze dan weer ga geven krijg echt van die wazige tekens te zien. Meer als er een fout zit in de pointers ofzo.
Please help me.
Dit character voor character inlezen gaat goed, ook detecteerd hij de tabs enzo. Alleen als ik ze dan weer ga geven krijg echt van die wazige tekens te zien. Meer als er een fout zit in de pointers ofzo.
Please help me.
code:
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
| #include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <fstream.h>
#include <fstream>
#include <string.h>
#define TAB "\t"
//---------------------------------------------------------------------------
#pragma argsused
class CTriangle {
int a, b, c;
public:
CTriangle(){};
~CTriangle(){};
void set_valueA (int);
void set_valueB (int);
void set_valueC (int);
int get_from_file(CTriangle);
int get_valueA();
int get_valueB();
int get_valueC();
// int a, b, c;
};
const char * filename = "triangle.txt";
void CTriangle::set_valueA (int aa) {
a = aa;
}
void CTriangle::set_valueB (int bb) {
b = bb;
}
void CTriangle::set_valueC (int cc) {
c = cc;
}
int CTriangle::get_valueA(){
return a;
}
int CTriangle::get_valueB(){
return b;
}
int CTriangle::get_valueC(){
return c;
}
int get_from_file(CTriangle& test){
char * buffer;
char a[50],b[50],c[100],END[50];
long size,size2;
int iTeller=0;
int iTeller2=0;
// size2 = 2;
ifstream file (filename, ios::in|ios::binary|ios::ate);
size = file.tellg();
file.seekg (0, ios::beg);
while (iTeller != size) {
buffer = new char [size];
file.read (buffer, 1) ;
if (!strcmp(buffer,TAB))
{
cout << "tab found" << endl;
iTeller2++;
}
else
{
if (iTeller2 == 0)
{
cout << buffer << endl;
strcat(a,buffer);
}
if (iTeller2 == 1)
{
cout << buffer << endl;
strcat(b,buffer);
}
if (iTeller2 == 2)
{
cout << buffer << endl;
strcat(c,buffer);
}
if (iTeller == 3)
{
strcat(END,buffer);
if (END== "END")
{
break;
}
}
}
iTeller++;
}
file.close();
cout << "the complete file is in a buffer" << endl;
cout << a << endl;
cout << b << endl;
cout << c << endl;
// delete[] buffer;
};
int main () {
CTriangle rect;
get_from_file(rect);
// cout << "Zijde A: " << rect.get_valueA() << endl;
// cout << "Zijde B: " << rect.get_valueB() << endl;
// cout << "Zijde C: " << rect.get_valueC() << endl;
int iTemp; cin >> iTemp;
} |