簡體   English   中英

CFile和CStdioFile一次讀取一個字節

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM