转载:在TXT中进行文件读写

转载自:http://blog.csdn.net/0011411/archive/2005/07/28/437331.aspx
   
<script type="text/javascript"> </script> <script type="text/javascript" src="http://blog.csdn.net/WebResource.axd?d=VT-DPrLTYP31jDF3TQ1B-w2&t=632963535947587500"></script> <script type="text/javascript"> // </script> <script type="text/javascript" src="http://blog.csdn.net/WebResource.axd?d=kBLxSMa_RAHFtpbVbnGdZBbFzobLzOoJlb8eu81NfQY1&t=633174420912656250"></script> <script type="text/javascript" src="http://blog.csdn.net/WebResource.axd?d=1wkz58Z1rsBL-eFHJPld5ERhyO-4qXtUzHp7Q1KwrOE1&t=632963535947587500"></script> <script type="text/javascript"> </script>

0011411的专栏

http://www.fishsky.com.cn

  CSDN |  社区 |  技术中心 |  BLOG首页 |  我的首页 |  我的文章 |  个人档案 |  联系作者 |  聚合  |   |  搜索 |  登录
  106篇原创: 0篇翻译: 1篇转载: 27153次点击: 5个评论: 0个Trackbacks
<script type="text/javascript">Include("Csdn.Blog.UserOnline");</script> <script type="text/javascript">Include("Csdn.Blog.ShowmeDataDeal");</script>

最近访客

prophet08 的头像
prophet08

文章

收藏

相册

源代码

存档

最近评论



<script language="javascript" src="http://tag.csdn.net/urltag.aspx" type="text/javascript"></script> 作者tag: 经验 CSDN 推荐tag: 文件 

<script type="text/javascript">function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>

一般来讲往文件中读写数据都是按字节数来计算的,但是如果一个txt文件的各行长短不一,但需要以行为单位进行读写,该如何实现哪?
累 类CStdioFile提供了对文件进行流式的操作功能。其中函数void CStdioFile::WriteString( LPCTSTR lpsz )写入一个字符串,需要给字符串lpsz的末尾加上换行标志”/r/n”;函数bool CStdioFile::ReadString(CString &rString )从文件中读取一行,如果文件未读完返回true,否则返回false。
相关代码如下:

void CRdWrtByLineDlg::OnSave()
{
UpdateData(TRUE);

//创建文件
CStdioFile file;
file.Open("ts.txt",CFile::modeCreate|CFile::modeWrite);

//获得文本的行数
CRichEditCtrl* pEdit = (CRichEditCtrl*)GetDlgItem(IDC_RICHEDIT1);
int nCount = pEdit->GetLineCount();

char szLine[200];
for( int i=0;i {
//第i行的长度
int nLenth = pEdit->LineLength( pEdit->LineIndex( i ) );

//获得第i行的字符串
pEdit->GetLine( i,szLine,nLenth );
szLine[nLenth] = 0;

//将第i行写入文件
CString str;
str.Format(”%s/r/n”,szLine);
file.Seek(0,CFile::end);
file.WriteString( str );
}

file.Close();
}

void CRdWrtByLineDlg::OnRead()
{
CString strText = “”;
CString szLine = “”;

//打开文件
CStdioFile file;
file.Open(”ts.txt”,CFile::modeRead);

//逐行读取字符串
while( file.ReadString( szLine ) )
{
strText += szLine;
}

//显示字符串
CRichEditCtrl* pEdit = (CRichEditCtrl*)GetDlgItem(IDC_RICHEDIT1);
pEdit->SetWindowText( strText );

file.Close();
}




Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=437331


<script src="http://localhost:82/PromoteIcon.aspx?id=437331" type="text/javascript"></script> [ 收藏到我的网摘]   0011411发表于 2005年07月28日 12:42:00
<script type="text/javascript">function hide(){showComment();}</script>
相关文章:



特别推荐: 关闭
<script type="text/javascript">document.write(" ");</script>
#      0011411 发表于2007-06-08 10:07:25  IP: 222.90.72.*
你想让我讲什么呢,这很基础的了.
CRichEditCtrl* pEdit = (CRichEditCtrl*)GetDlgItem(IDC_RICHEDIT1);是指取得控件IDC_RICHEDIT1的句柄,将其转化为 (CRichEditCtrl*)指针,然后调用->GetLineCount();函数获取控件IDC_RICHEDIT1里面行的数目.

<script language="javascript" type="text/javascript"> ad_width=468; ad_height=60; adcss=2; unionuser=19; ad_type='j'; count=5; </script>
<script type="text/javascript" src="http://tagegg.csdn.net/showads.js" language="javascript"></script> <script src="http://tagegg.csdn.net/b.aspx?action=displayad&unionuser=19&unionurl=http%3A%2F%2Fblog.csdn.net%2F0011411%2Farchive%2F2005%2F07%2F28%2F437331.aspx&adcss=2&ad_type=j&width=468&height=60&ad_color=&ad_color_border=&count=5" language="JavaScript1.1" type="text/javascript"></script> <script type="text/javascript" src="http://blog.csdn.net/js/showgm.js" language="javascript"></script>

发表评论

 
大名:
网址:
评论 
   
<script src="http://www.csdn.net/common/counter.js" type="text/javascript"></script> width="0" scrolling="no" height="0" frameborder="no" src="http://www.csdn.net/ggmm/dd333.htm" border="0" name="myframe" id="myframe"> <script type="text/javascript"> </script> <script type="text/javascript"> </script>
<script language="javascript" type="text/javascript"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值