⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 untitled-05.txt

📁 mfc 教程
💻 TXT
字号:
          UINT nBytesRead=  file.Read(buffer, sizeof(buffer》;
            dwBytaSRSSSifliflg=  flBytflSRSSd;
      8
未读字节数保存在 dwBytesRemaining中,它的初始值为 CFile:: GetLength返回的文件尺寸。
每次调用Read后,dwBytesRemaining都要减去从文件读取的字节数(nBytesRead)。执行while
循环直到dwBytesRemaining变成0。
    下面的示例是在前段代码的基础上发展的,它调用:: CharlnwerBuff将从文件中读取的
所有大写字符转化成小写,并调用  CFile:: Write把转化后的正文写回文件。为了使程序清
晰,再次省略错误检查。
      BYTE bEffEE[0EIO00」;
      CFlle file(_T(”File.txt”), CF。ie::modeReadwr。ie);
      DWORD dwBytesRelnaining= file.GetLength();
      wb。ie(dwBytesRe。aming) 1
          DWORD dwPosition= file.GetPosition();
          UINT nByteSRead=  file.Read(buffer, SIZeof(bllffer》;
          ::CharLowerBuff《LPTSTR)burfer, "Byte。Read);
          file.Seek(dwPosition, CF土ie::begin);
          file.W。lie(buffer, nBytesRead);
            dw sytaSRSmS主fi土fig-=flBy〔flSRSSd;
      S
该示例调用CFile函数GetPosition和Seek操作文件指针——文件中的偏移值,即执行下一个
读或写的位置——使修改后的数据覆盖原文件。Seek用第二个参数确定第一个参数中的字
节偏移值是相对于文件起始位置( CFile:: begin)、结束位置(CFile:: end)还是当前位置
( CFile:: current)。如果要快速定位到文件的开始位置或结束位置,可以调用  CFile:: SeekTo.
Begin或  CFile:: SeekToEnd。
    如果在文件1/O过程中有错误发生,Read、Write和其他CFile函数就会发送一个CFile-
Exception。CFileException::m-cause告诉您引发错误的原因。例如:试图往已满的磁盘上写
文件会引发  CFileException,其  m。ause等于  CFileException:: diskFull。试图在文件范围之外
读取数据会引发CFileException,其。cause等于CFileException::endofFile。下面就是将小写
正文转化为大写的例程,其中还包括检查代码:
      BYTE b。ffer[0xl000];
      try 
            CFile file(_T(”F。ie.txt”), CF。ie::。odeReadwr。ie);
            DWORD dwBytesRemaining=  file.GetLenqth();
            wb。ie(dwBytesRe。a。mug)页
                  DWORD dwPosition= file,GetPosition();
                —I1一了厂工7nBy?二二e主主宁1三己eed=f1】e.—e占台一<己(b u三三fer,SIZe。至三(b u正三fel》;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -