Symbian的文本文件通常都保存为Unicode格式。读写文本文件的常用API是TFileText,由于文本文件通常都为Unicode,所以TFileText API使用16位描述符作为参数。下面的函数演示了如何读取一个文本文件:
static void ReadTextFileL(const TDesC& aFileName, TDes& aBuffer)
{
RFile aFile;
User::LeaveIfError(aFile.Open(CCoeEnv::Static()->FsSession(), aFileName, EFileRead | EFileStreamText));
CleanupClosePushL(aFile);
// create a TFileText and points it to file
TFileText aFileText;
aFileText.Set(aFile);
TBuf<256> buffer;
TInt errCode = KErrNone;
while (errCode != KErrEof)
{
errCode = aFileText.Read(buffer);
if (errCode == KErrNone)
{
aBuffer.Append(buffer);
}
}
CleanupStack::PopAndDestroy(&aFile);
}
使用TFileText可以读取换行符为CR LF(0x0D 0x0A)或LF(0x0A)的Unicode文件(包含BOM(Byte-Order Mark)的也可以)。另外注意不要使用TFileText来读取非Unicode文件,否则将会出现一些垃圾字符。
使用TFileText按行读取文本文件
最新推荐文章于 2021-10-26 20:12:35 发布