Visual Studio 2008 で C++ MFC を使用して、CFile または CStdioFile を使用してテキスト ドキュメントの最後の行を読み取り、保存し、ファイルにテキストが修正された後に再印刷しようとしています。
その部分が機能するようになりました。唯一の問題は、動的ではないことです。最後の行の長さに応じて手動でオフセットを作成する必要があります。そのため、これが動作するすべてのファイルで共通の要素が見つかるまで最後の行を読み取り、そこにあったバイト数をカウントする関数を作成しようとしています。これは私が今持っているものです:
int MeasureLastTag(CStdioFile* xmlFile)
{
TCHAR lastTag[1];
CString tagBracket = _T("");
xmlFile->Seek(0, CFile::end);
int count = 0;
while(tagBracket != _T("<")) //Go back two, read ahead one
{
xmlFile->Seek(-2, CFile::current);
xmlFile->Read(lastTag, 1);
tagBracket = lastTag;
count++;
}
return count;
}
ただし、これにより、私が振ることができないように見える無限ループが発生します。それを機能させる方法についてのアイデアはありますか?
追加情報。これはファイルのサンプルです。
<Station>
</Station>
途中で数えて < に到達するまで < /Station> を読み上げたいと思います。