CFile的Read函数参数怎么设?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CFile的Read函数参数怎么设?相关的知识,希望对你有一定的参考价值。

CFile的Read函数的2个参数怎么设?
我想把一个文本文件读到一个编辑框里,但是编辑框的参数类型是CString,
Read的第一个参数是void* lpBuffer,编译老出错。Read的第二个参数dwCount
是什么意思,应该怎么设置?

CString strText;

cfile.Read( strText.GetBuffer( 100 ), 100 );
strText.ReleaseBuffer();

把strText的值送到文本框就行了,
参考技术A 设置读取的最大字节数。例如
extern CFile cfile;
char pbuf[100];
UINT nBytesRead = cfile.Read( pbuf, 100 );

MFC总结:MFC中文件操作查找与选择总结

       本文主要涉及以下几个方面,均为在MFC编程中较为常用的:CFile操作、CArchive操作、如何选择文件和文件夹、如何查找文件、获取当前目录、_access函数等。

     (一)使用CFile类操作文件

       CFile类在MFC的文件操作中应该是最常用的了。主要的成员函数有Open、Close、Write、Read、Seek、SeekToEnd、GetLength、GetPosition,具体用法见MSDN。

       (1)文件打开操作:

        文件打开有两种方式,一种是先定义类对象,在用Open函数打开;一种是在定义类对象时传入文件名和打开方式。分别如下

        CFile file;

        if(!file.Open(lpszFileNamenOpenFlags ))

              return;

       或

       CFile file(lpszFileNamenOpenFlags);

      (2)文件打开方式:

       文件打开方式,即上述nOpenFlags的值主要由一些宏定义的值组合而成,具体见MSDN,常用的有如下几种:

       A. CFile::modeCreate CFile::modeNoTruncate |CFile::modeWrite ,以写文件的方式打开,如果文件不存在,则新建文件,否则打开已有文件进行写入操作,此时不会清空原有文件

       B. 将上述CFile::modeWrite更换为CFile::modeRead 或者CFile::modeReadWrite 可实现读操作或者同时读写。

    (3)判断文件结束

     判断文件是否结束,没有结束则继续读取,否则关闭退出。这点在编程时常用。对于CFile常用的判断文件结束的方法是:

    while(file.GetPosition() < file.GetLength())

       //文件未结束

           //Add code ....

   

    (4)值得注意的几点:

     A. 当文件名中包含路径时,要注意使用\\\\,如C:\\\\MyFile.DAT,在Unicode下时,需要使用_T("C:\\\\MyFile.DAT")

     B. 采用(2)中A方式写文件时,注意使用file.SeekToEnd()将文件指针移至文件尾,再写入,否则会覆盖已有的数据,这点经常被很多初学者忽视;

     C. 在打开文件后就要紧接着写下Close,养成这样的习惯,避免忘记关闭文件。特别是在对某个读出的数据进行判断,如何符合条件则函数返回,此时一定要切记返回前关闭文件;

     D. CFile读写文件都是按照字节来实现的。

        未完,待续。。。。

            

以上是关于CFile的Read函数参数怎么设?的主要内容,如果未能解决你的问题,请参考以下文章

python 自定义函数第一个参数设缺省值时怎么调用?

simulink传递函数参数如何设成可调

CFile与CArchive区别

R语言系列之3-----文件读写

C++中CFile open函数怎么创建不了文件

read的Linux C函数