CStdioFile的学习

CStdioFile::ReadString(LPTSTR lpsz, UINT nMax);

读取一行文本到缓冲区,遇到“0x0D,0x0A”时停止读取,并且去掉硬回车“0x0D”,保留换行符“0x0A”,在字符串末尾添加“/0”(0x00)。nMax个字符里包含0x00这个字符。分析如下:

1)如果nMax <= 字符数,读取(nMax-1)个字符 + 0x00

2)如果nMax = 字符数 + 1,读取nMax个字符 + 0x00

3)如果nMax > 字符数,读取nMax个字符 + 0x0A + 0x00

CStdioFile::ReadString(CString &rString);(重载)

读取一行文本到rString,遇到回车换行符停止读取。回车和换行符不读到rString,而且末尾也没有添加“/0”。

CStdioFile::WriteString( LPCTSTR lpsz );(不支持CString直接写入)

将一个缓冲区中的数据写入与CStdioFile 对象关联的文件中。结束的空字符(“/0”)不被写入该文件。lpsz 中的所有换行符都被以一个硬回车换行符对写入该文件,即“/n”被转化成“/r/n”写入到文件里。

CFile的派生类CStdioFile提供了对文件进行流式的操作功能。其中函数void CStdioFile::WriteString( LPCTSTR lpsz )写入一个字符串,需要给字符串lpsz的末尾加上换行标志”/r/n”;函数bool CStdioFile::ReadString(CString &rString )从文件中读取一行,如果文件未读完返回true,否则返回false。

比如:写入文件的例子

CStdioFile file; //创建文件

file.Open("ts.txt",CFile::modeCreate|CFile::modeWrite);

//写入文件

CString str;

str.Format("%s/r/n","hello!I am talkingmute!");

file.Seek(0,CFile::end);

file.WriteString( str );

file.Close();  //关闭文件

比如:读文件的例子

CString strText = “”;

CString szLine = “”;

//打开文件

CStdioFile file;

file.Open("ts.txt",CFile::modeRead);

//逐行读取字符串

while( file.ReadString( szLine ) )

{

strText += szLine;

}

MessageBox(strText);

file.Close();   //关闭文件

 

原帖来源于(CStdioFile百度百科):http://baike.baidu.com/view/1848345.htm?fr=ala0_1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值