blob: fde51340b3051a1f2c0e16dd893b36e817658dfb (
plain)
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
|
#include <iostream>
#include <iomanip>
#include <fstream>
#include <vector>
using namespace std;
int main(int, char **)
{
int iPosPointeur, iPosTexte;
char szPath[2][256];
vector<unsigned char> vFichier;
cout << "Entrez le nom du fichier :";
cin >> szPath[0];
cout << "Entrez le nom du fichier texte :";
cin >> szPath[1];
cout << "Entrez la position du pointeur (Hexadeciaml) :";
cin >> hex >> iPosPointeur;
cout << "Entrez la position du texte (Hexadeciaml) :";
cin >> hex >> iPosTexte;
ifstream ifFichier(szPath[0], ios::binary);
if(ifFichier)
{
ifFichier.seekg(0, ios::end);
vFichier.resize(ifFichier.tellg());
ifFichier.seekg(0, ios::beg);
ifFichier.read((char *) vFichier.begin(), vFichier.size());
}
ofstream ofTexte(szPath[1], ios::binary | ios::trunc);
for(int i = 0; i < (iPosTexte - iPosPointeur) / 2; i++)
{
ofTexte << "<PT" << setw(4) << setfill('0') << i << ">\n";
for(int j = iPosPointeur + vFichier[iPosPointeur + i * 2] +
(vFichier[iPosPointeur + i * 2 + 1] * 256); vFichier[j] != 0; j++)
switch(vFichier[j])
{
case 0x01:
ofTexte << "<NOM:" << (int) vFichier[++j] << ">";
break;
case 0x02:
ofTexte << "<02>";
break;
case 0x03:
ofTexte << "<03>";
break;
case 0x04:
switch (vFichier[++j])
{
case 0x02:
ofTexte << "<VIOLET>";
break;
case 0x04:
ofTexte << "<VERT>";
break;
case 0x05:
ofTexte << "<BLEU>";
break;
case 0x06:
ofTexte << "<JAUNE>";
break;
case 0x0F:
ofText << "<FINCOULEUR>";
break;
default:
ofTexte << setw(2) << << setfill('0') << hex << vFichier[j];
}
break;
case 0x05:
ofTexte << "<05>";
break;
case 0x06:
ofTexte << "<06>";
break;
case 0x0c:
ofTexte << "<NP>\n";
break;
case 0x0a:
ofTexte.put('\n');
break;
default:
ofTexte.put(vFichier[j]);
}
ofTexte << "<FIN>\n\n";
}
return 0;
}
|