diff options
Diffstat (limited to 'ToD/ExtracteurIdiot.cpp')
-rw-r--r-- | ToD/ExtracteurIdiot.cpp | 190 |
1 files changed, 95 insertions, 95 deletions
diff --git a/ToD/ExtracteurIdiot.cpp b/ToD/ExtracteurIdiot.cpp index 8825d97..fde5134 100644 --- a/ToD/ExtracteurIdiot.cpp +++ b/ToD/ExtracteurIdiot.cpp @@ -1,96 +1,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;
+#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; }
\ No newline at end of file |