あるモデル ファイル タイプを Wavefront obj ファイル タイプに変換するプログラムを作成してきましたが、そのファイルに自分の顔を書き込むときに問題が発生しました。
if(!strcmp(line , "TEX:TOP"))
{
i++;
TEX_TOP << "f " << i << "/" << i << "/" << i << " ";
i++;
TEX_TOP << TEX_TOP << i << "/" << i << "/" << i << " ";
i++;
TEX_TOP << TEX_TOP << i << "/" << i << "/" << i << " ";
i++;
TEX_TOP << TEX_TOP << i << "/" << i << "/" << i << "\n";
}
コードのこの部分は出力されるはずです..
f 1/1/1 2/2/2 3/3/3 4/4/4
しかし、..
f 1971327331/1971327331/1971327331 0x28f5a81971327332/1971327332/1971327332 0x28f5a81971327333/1971327333/1971327333 0x28f5a81971327334/1971327334/1971327334
何時間も検索しましたが、まだ修正が見つかりません。
編集: LihO のおかげで、私の問題は、TEX_TOP fstream オブジェクトを各行の先頭に配置していて、それを再宣言していると仮定して、カウントアップするために int を 0 から開始する必要があったことでした。
i = 0;
if(!strcmp(line , "TEX:TOP"))
{
i++;
TEX_TOP << i << "/" << i << "/" << i << " ";
i++;
TEX_TOP << i << "/" << i << "/" << i << " ";
i++;
TEX_TOP << i << "/" << i << "/" << i << " ";
i++;
TEX_TOP << i << "/" << i << "/" << i << "\n";
}