[英]CFile and CStdioFile Reading one byte at a time
在Visual Studio 2008中使用C ++ MFC,我嘗試使用CFile或CStdioFile讀取文本文檔的最后一行,存儲它,然后在文件修改了文本之后重新打印它。
我已經知道該部分可以工作了,唯一的問題是它不是動態的,您必須手動創建一個offSet,無論最后一行有多長。 因此,我試圖做一個函數來讀取最后一行,直到它在將要使用的所有文件中找到一個公共元素,並計算有多少字節。 這就是我現在要做的:
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>,直到到達<,一路計數。
將TCHAR lastTag [1]更改為char lastTag [1]已解決了該問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.