在 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>,直到它到达<,沿途计数。