网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
对象的持久性和文件I/O
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
bsp;   获取文件当前的位置

GetStatus( )    获取文件的状态

LockRange( )    锁定文件的一部分

Open( ) 打开文件

Read( ) 从文件中读取数据

Remove( )    删除文件

Rename( )    重命名文件

Seek( )          设置文件中位置

SeekToBegin( )    设置至文件头的位置

SeekToEnd( )    设置至文件尾的位置

SetFilePath( )    设置文件路径

SetLength( )    设置文件长度

SetStatus( )    设置文件状态

UnlockRange( )    对文件的一部分进行解锁

Write( )         向文件中写数据

读者可以从表中看出,CFile类提供大量的文件处理能力。下面演示了如何调用CFile类的一些成员函数。然而,其他函数的绝大部分也是非常容易使用的。

下面是一个简单的代码片段,它创建和打开一个文件,向文件中写入一个串,然后收集一些关于该文件的信息:

    // Create the file.

    CFile file(襎ESTFILE.TXT*, CFile::modeCreate || CFile::modeWrite);

  

    // Write data to the file.

    CString message(襀ello file!*);

    int length = message.GetLength();

    file.Write((LPCTSTR)message, length);

  

    // Obtain information about the file.

    CString filePath = file.GetFilePath();

    Int fileLength = file.GetLength();

注意,在给Constructor函数(其参数是文件名和打开状态标志)传递文件名时,并不需要显式地打开文件。一次可以使用多个状态标志,可以简单地将它们“或”在一起。这些状态标志描述了如何打开文件、何种操作是有效的。它们作为CFile类的一部分来定义,其含义如下表:

表2  文件状态标志

    标    记              说      明

CFile::modeCreate    创建新的文件或把已存在的文件长度截为0

CFile::modeNoInherit 不允许子过程继承

CFile::modeNoTruncate    创建文件时,如果文件已经存在则不对文件截断

CFile::modeRead  只允许读操作

CFile::modeReadWrite 允许读和写操作

CFile::modeWrite 只允许写操作

CFile::shareCompat   允许其他过程打开文件

CFile::shareDenyNone 允许其他过程对文件进行读写

CFile::shareDenyRead 不允许其他过程对文档进行读操作

CFile::shareDenyWrite    不允许其他过程对文档进行写操作

CFile::shareExclusive    不允许其他过程访问

CFile::typeBinary    设置文件为二进制模式

CFile::typeText  设置文件为文本模式

CFile::Write( )需要一个指向存放数据的缓冲区的指针和要写的字节数。注意在调用Write ( )时,LPCTSTR是强制转换运算符。它是由CString类定义的,它提取类中的字符串。

此外,这里没有调用Close( ),当文件超出范围之外时,CFile的析构函数自动关闭文件。

从文件中读并不比向文件中写更难:

    // Open the file.

 &n
  • 上一篇资讯: 深入MDI客户窗口编程
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号