XCodeを使用してMac OS X 10.6でプログラミングしています。ポケモン GBA ゲームを「解読」するプログラムを作成して、任意のテキスト エディタでゲームのダイアログを読むことができるようにしようとしています。
私はすでにそれを行うプログラムを完成させているので、すべてのテキストデータを読み取ることができます。
私の問題は、編集後にクリアテキストを16進数に戻す必要があることですが、何が間違っているのかわかりません。
string PathDE;
string PathGBA;
string Zeichen;
int kontrolle = 0;
int current = 0;
char buffer1[3] = "00";
char buffer2[3] = "a1";
...
schreiben.open(PathGBA.c_str(), ios::out | ios::binary); //writes out the edited hex
lesen.open(PathDE.c_str(), ios::in); //reads in the plain text
while(current <= kontrolle){
lesen.read(reinterpret_cast<char*>(&a), 1);
converter << a;
converter >> Zeichen;
if(Zeichen == "_"){
schreiben.write(buffer1,3);
}
else if(Zeichen == "0"){
schreiben.write(buffer2,3);
}
...
試してみましたが、16 進エディタで結果を開くと、ASCII コードは a8.a8.a8.a8... というように eof まで続き、16 進コードは eof まで 61 38 00 ... です。
他の方法も試しましたが、すべて同じ結果で、デコードされたGBAを16進数として書き込むことができないため、編集されたテキストで再生できます。