要从文件中读入文本
发布日期:2021-09-28 09:31:49 浏览次数:2 分类:技术文章

本文共 702 字,大约阅读时间需要 2 分钟。

要从文件中读入文本,有两个问题需要解决:

1、怎么打开文件并读该文件。

2、怎么将读入的文本放置到类似TBuf这样的东西中。

下面看一个程序片段:

 RFs fs;

 User::LeaveIfError(fs.Connect());

 RFile file;

 User::LeaveIfError(file.Open(fs, _L("e://1.txt"), EFileRead));
 
 TInt sz;
 file.Size( sz);
 TBuf16<20> sz_str;
    sz_str.Format( _L( "%d" ) , sz);
 
 TBuf8< 2> buf;
 for( int i = 0; i < sz / 2; i ++)
 {
  TBuf16< 1> c;
  file.Read( buf, 2);
  c.Copy( ( unsigned short int *)buf.Ptr(), 1);
  iCNTextShowContainer->AddText( c);
 }
 file.Close();
 fs.Close();

读文件很简单,见上面的程序应该可以看懂。

RFile只提供了一个读入8位字节类型的read方法,而unicode是16位的,这就牵扯到了一个将两个8位字节转换成一个unicode码的问题,上面程序中Copy( ( unsigned short int *)buf.Ptr(), 1);就完成这个工作。具体过程就是:得到文件大小字节数,包含的文字数量为大小的二分之一,然后循环读入字节,一次读入两个字节,通过Copy方法把这两个字节转换成一个unicode码,放入到TBuf16中。

转载地址:https://blog.csdn.net/gooer/article/details/2823371 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:RFs类的GetDir函数出现的问题
下一篇:C++ 学习

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月17日 15时26分46秒