CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

如何快速读完文件中的一行,然后删掉文件中的该行,且不要保留空格(行)?

楼主gRempCH_eNter(龙争四舞)2006-03-01 16:57:19 在 C++ Builder / 基础类 提问

是否有这样现成的函数可以调用?  
   
  小弟有个笨的办法:用一个临时文件过渡,先读原文件中的一行,然后把剩下的复制到临时文件中,再把临时文件全部复制回原文件。由于文件很大,有几十万行,故这样的速度太慢。  
   
  不知各位达人有什么更好的方法没?  
   
  急等! 问题点数:100、回复次数:12Top

1 楼lurel(城市陌生人)回复于 2006-03-01 17:03:22 得分 0

利用TStringList这个类.Top

2 楼lurel(城市陌生人)回复于 2006-03-01 17:30:02 得分 5

下面代码试试  
          TStringList   *lstTmp   =   new   TStringList;  
          lstTmp->LoadFromFile("c:\\1.txt");  
          lstTmp->Delete(lstTmp->IndexOf("需要删除的行!"));  
          lstTmp->SaveToFile("c:\\1.txt");  
          delete   lstTmp;Top

3 楼gRempCH_eNter(龙争四舞)回复于 2006-03-02 08:47:10 得分 0

还有方法吗?Top

4 楼Microsnow(冰火)回复于 2006-03-02 08:50:54 得分 0

我觉得用TStringList就可以比较简单地解决以上这个问题Top

5 楼ribut9225(幽灵庄主)回复于 2006-03-02 09:06:42 得分 0

不错  
  用TStringList比较简单一点Top

6 楼gRempCH_eNter(龙争四舞)回复于 2006-03-02 09:17:07 得分 0

速度怎么样呢?  
  Top

7 楼gRempCH_eNter(龙争四舞)回复于 2006-03-02 09:32:05 得分 0

我试了一下,这种方法的速度太慢,达不到我的要求。Top

8 楼foxyz(如风)回复于 2006-03-02 09:37:21 得分 10

TStringList   或者先把文件整个读入内存,或者剪贴板!  
  然后处理!Top

9 楼lurel(城市陌生人)回复于 2006-03-02 10:12:56 得分 5

要不就只能用做基本的fopen,fseek,fwrite这样的标准C操作了.Top

10 楼jone7319(舍我其谁)回复于 2006-03-02 12:01:43 得分 0

用文件流试试:  
  读:ifstream   f1("....");  
  f1>>........  
   
  写:ofstream   f2("......");  
          f2<<........Top

11 楼oldtab(汇铁)回复于 2006-03-02 12:46:27 得分 80

>如何快速读完文件中的一行,然后删掉文件中的该行,且不要保留空格(行)?    
  你的办法不好。  
  有读原文件,写临时文件。再是读临时文件,写原文件。  
   
  你应该定义出一个内存块。  
  读入要原文件。在内存中删除要删除的问题。  
  移动一下写位置,即直接写回原文件。  
  再读写下一块数据。直到完成。  
  显然,时间应该减半。  
  Top

12 楼xjq2003(xjq2003)回复于 2006-03-02 14:01:22 得分 0

基本的fopen,fseek,fwrite速度比较快Top

相关问题

  • fopen后,怎样删掉一行?
  • 为什么有空格时把空格后面的字符删掉了?
  • cin怎样读一行,含空格
  • 在JTextArea读取文件,怎样把空格全部删掉?
  • 求助!怎么删掉用空格命名的文件夹?
  • 求助!怎么删掉用空格命名的文件夹?
  • 在VBA中怎样用代码实现选定一行。删掉一行?
  • 如何把生成的一个文本框的最后一行空行删掉?
  • 如何取消form里的一行空格?
  • 为什么我的WORD在使用的时候打空格会自动的删掉前面的字符啊

关键词

  • 文件
  • 内存
  • lsttmp
  • tstringlist
  • 一行
  • 临时
  • 删除
  • 原
  • 速度
  • 方法

得分解答快速导航

  • 帖主:gRempCH_eNter
  • lurel
  • foxyz
  • lurel
  • oldtab

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo