| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 514 人关注过本帖
标题:文件的读写问题(一行一行地逐步换行读,一行一行地逐步换行写)怎样实现啊 ...
只看楼主 加入收藏
ding_inshili
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-9-13
收藏
 问题点数:0 回复次数:0 
文件的读写问题(一行一行地逐步换行读,一行一行地逐步换行写)怎样实现啊?

readfrom.txt:内容 line1 tester1 0000 20071001224510 20071002083122 20060322
- >writeto.txt:运行后内容 line1 tester1 0000 20071001224510 20071002083122 20060322
- >write3.doc:运行后内容 abcdefghijklmnopqrstuvwxyz0123456789+-*/



上述readfrom.txt为原始文件,而writeto.txt,write3.txt是新建立的文件.所用的代码如下



char* pFileNamer="readfrom.txt";//读文件名称
char* pFileNamew="writeto.txt"; //写文件名称
char* pFileName3="writeto3.doc";//另一写名称
char str1[100]; //缓冲字符串
CString str2="abcdefghijklmnopqrstuvwxyz0123456789+-*/";

TRY
{//先打开各个文件
CFile filer(pFileNamer, CFile::modeRead);
CFile filew(pFileNamew, CFile::modeCreate ¦CFile::modeWrite);
CFile file3(pFileName3, CFile::modeCreate ¦CFile::modeWrite);
//先定位再读写
filer.SeekToBegin();
filew.SeekToBegin();
filer.Read(str1, 5);
filew.Write(str1,5);
//先定位再读写
filer.Seek(6,CFile::begin);
filew.Seek(6,CFile::begin);
filer.Read(str1, 7);
filew.Write(str1,7);
//
filer.Seek(14,CFile::begin);
filew.Seek(14,CFile::begin);
filer.Read(str1, 4);
filew.Write(str1,4);
//
filer.Seek(19,CFile::begin);
filew.Seek(19,CFile::begin);
filer.Read(str1, 14);
filew.Write(str1,14);
//
filer.Seek(34,CFile::begin);
filew.Seek(34,CFile::begin);
filer.Read(str1, 14);
filew.Write(str1,14);
//
filer.Seek(49,CFile::begin);
filew.Seek(49,CFile::begin);
filer.Read(str1, 8);
filew.Write(str1,8);
//
file3.Write(str2, strlen(str2));
//最后关闭各个文件
filer.Close();
filew.Close();
file3.Close();
}

CATCH(CFileException,e)
{
#ifdef _DEBUG
afxDump < <"File could not be opened" < <e- >m_cause < <"\n";
#endif
}
END_CATCH



问:?
如果我想从readfrom.txt读下一行数据,然后把它写入writeto.txt中相应的地方,那我怎样进行定位啊,(即怎样结束本行,而使文件定位函数在2nd行,3rd行起作用啊)?
我的意思也就是怎样从 "一个文件" 中直接读第N行中的数据,然后将其直接写入 "另一个文件" 的第i行

比如:
我想从readfrom.txt 内容如下:中读部分数据
1st line data:line1 tester1 0000 20071001224510 20071002083122 20060322 British 伯明汉.英国
2nd line data:line1 tester2 00A0 20071001224500 20071002083102 20060322 Hitachi ShenZhen(深圳)
3rd line data:line1 tester3 0000 20071001224010 20071002083120 20060322 ###### 上海.蒲东

我想让文件writeto.txt内容如下:
1st line data:line1 tester1 0000 20071001224510 20071002083122 20060322
2nd line data:line1 tester2 00A0 20071001224500 20071002083102 20060322
3rd line data:line1 tester3 0000 20071001224010 20071002083120 20060322

那我该如何处理呢?热情期待高手点拨!!!

搜索更多相关主题的帖子: txt 文件 char readfrom 
2007-10-03 20:26
快速回复:文件的读写问题(一行一行地逐步换行读,一行一行地逐步换行写)怎样实 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021558 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved