用户操作
[即时聊天] [发私信] [加为好友]
wangbobID:dodream
8783次访问,排名12712(1),好友0人,关注者2人。
dodream的文章
原创 13 篇
翻译 0 篇
转载 0 篇
评论 5 篇
最近评论
iwillbeback008:谢谢,正好需要!
iwillbeback008:谢谢,正好需要!
iwillbeback008:谢谢,正好需要!
iwillbeback008:谢谢,正好需要!
algcfx:Wow gold
文章分类
收藏
    相册
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 CStdioFile类学习收藏

    新一篇: CFileException类学习 | 旧一篇: CFileDialog类学习

     
    CStdioFile类学习笔记
    2007-7-17
    CStdioFile类的声明保存再afx.h头文件中。
    CStdioFile类继承自CFile类,CStdioFile对象表示一个用运行时的函数fopen打开的c运行时的流式文件。流式文件是被缓冲的,而且可以以文本方式(默认)或者二进制方式打开。
    CStdioFile类不支持CFile类中的DuplicateLockRangeUnlockRange函数,如果你使用了,会得到CNotSupportedException类的错误。
    CStringFile类默认的是按照Text模式操作文件。CFile 类默认的是按照二进制模式操作文件。
    这里大致说明一下二进制模式和Text模式的区别。
    二进制模式:对于一行的结尾我们必须输入”\r\n”,才能表示回车换行的效果。
    Text模式:”\r”回车的工作是自动完成的,我们只需要写入”\n”即可。所以我们再使用文本模式时要主要,当我们从外部读入文件时,”\r\n”会被翻译成”\n”,写入文件时,我们对于回车换行只需提供”\n”,即可,”\r\n”会被写入到文件中。
    m_pStream成员变量:
          打开文件的指针。
     
    构造函数:
    CStdioFile();
    CStdioFile(FILE *pOpenStream);
    CStdioFile(LPCTSTR lpFileName, UINT nOpenFlags);
    throw(CFileException);
    FILE *pOpenStream:指的是c运行函数fopen调用后返回的文件指针。
    LPCTSTR lpFileName:指的是被打开的文件(绝对地址或相对地址)
    UINT nOpenFlags:指的是CFile类中所描述的打开文件的方式。
     
    virtual LPTSTR ReadString(LPTSTR lpsz, UINT nMax);
    throw(CFileException);
    如果使用该函数读取文本文件,当遇到”\r\n”,停止读取,并去掉”\r”,保留”\n”,并在字符串尾部增加”\0”nMax的长度包含有”\0”字符,
    实际的分析如下:
    如果nMax <= 字符数,读取(nMax-1)个字符+0x00
    如果nMax = 字符数 + 1,读取nMax个字符+0x00
    如果nMax > 字符数,读取nMax个字符+0x0A(”\n”) + 0x00
    如果文件有多行,则当文件没有读完时,返回NOT NULL,读到文件尾,返回NULL
     
    BOOL ReadString(CString& rString);
    throw(CFileException);
    读取一行文本到rString中,遇到回车换行符停止读取,回车和换行符均不读到rString中,尾部也不添加”0x00”
    如果文件有多行,则当文件没有读完时,返回TRUE,读到文件尾,返回FALSE
     
    virtual void WriteString(LPTSTR lpsz);
    throw(CFileException);
    将缓冲区中的数据写入到与CStdioFile对象相关联的文件中,不支持CString类型数据写入,结束的”\0”不被写入到文件中,lpsz缓冲区中的所有换行符被替换为回车换行符即”\n”转换为”\r\n”
     
     
     
     

    发表于 @ 2007年07月17日 15:21:00|评论(loading...)|编辑

    新一篇: CFileException类学习 | 旧一篇: CFileDialog类学习

    评论

    #iwillbeback008 发表于2008-08-05 15:39:43  IP: 121.31.57.*
    谢谢,正好需要!
    #iwillbeback008 发表于2008-08-05 15:39:47  IP: 121.31.57.*
    谢谢,正好需要!
    #iwillbeback008 发表于2008-08-05 15:39:55  IP: 121.31.57.*
    谢谢,正好需要!
    #iwillbeback008 发表于2008-08-05 15:40:12  IP: 121.31.57.*
    谢谢,正好需要!
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © dodream