CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

请问如何在文件中往前面写数据,万分感谢

楼主bobqi(灰冷)2000-11-16 00:48:00 在 C/C++ / C语言 提问

我有如下程序    
  ....    
  fpos_t   pos=0;;    
  FILE   *fp;    
  if((fp=fopen(".\t2.htm","a+"))==NULL){    
  fp   =   fopen(".\t2.htm","w");    
  }    
  rewind(fp);    
  fseek(fp,0L,SEEK_SET);    
  fsetpos(fp,&pos);    
  .....    
  我用了以上方法将文件指针定位到头    
  可是我再用fprintf方法向文件写数据时,确没有办法写在前面,    
  只能在文件的后面添加      
   
   
  问题点数:20、回复次数:4Top

1 楼zhq2000(方舟)回复于 2000-11-16 01:43:00 得分 5

文件操作就是这样的。  
   
  试试这个:  
      1.把t2.htm改名t2tmp.htm  
      2.创建一名为t2.htm的文件  
      3.写入新数据  
      4.打开t2tmp.htm  
      5.读t2tmp.htm的内容,写进t2.thm  
      6.关闭   t2tmp.htm   及   t2.htm  
      7.删除t2tmp.htm  
       
      8.如再要加入新数据,重复1--7Top

2 楼hotyei(出于蓝胜于蓝)回复于 2000-11-16 08:42:00 得分 5

首先,你的打开文件名好像不太正确,因为\符号在C中用\\的。第二,打开属性a已经可以创建文件的了,你下面再加个w就画蛇添足了。回到正确,你可以通过下面的方法做到,下面假设你的文件不太大。  
  1)计算出你要(添加的数据+原文件大小)。  
  2)用alloc函数(可能记错了,我太久没用DOS了)分配一段同样大小的内存。  
  3)将添加的数据以及原文件的内容写到这段内容中  
  4)将内容写入文件  
  5)关闭文件并结束Top

3 楼bobqi(灰冷)回复于 2000-11-16 09:02:00 得分 5

To   hotyei   &   zhq2000  
  thanx   a   lots  
  因为我主要是在一个CGI程序中进行文件操作,  
  hotyei说的\符号我是用\\的,编译运行都很正常。  
  因为程序不是从我那粘贴过来的,是手误。  
  由于数据量的不断增大,所以不行。Top

4 楼george77(F22)回复于 2000-11-16 10:02:00 得分 5

先将文件中的内容读到string1中,再生成一个空间足够大的string2,将你要写的新内容和string1都放到string2中,再将string2写入文件。Top

相关问题

  • 请告知怎么打开WDL文件,万分感谢!!!
  • 一个文件操作题目。急急,万分感谢
  • 帮帮小弟把数据插进去!万分感谢!
  • 怎么把form传送的数据加入到SQL数据库????万分感谢!!!!!!!!!!!
  • 关于生成的可执行文件连不了数据库?非常感谢
  • 有关project新加文件的问题,恳请指教,万分感谢!!
  • 求教 从文件mulu.txt中读取内容建树的例子,万分感谢!
  • 感谢万分:)
  • 菜鸟请教:我的数据库连库有问题~ 万分感谢~
  • ★★急救,连接Access数据库时出错。万分感谢各位的指点!

关键词

  • 文件
  • 数据
  • 内容
  • t2
  • 写入
  • htm
  • fp
  • 添加
  • 程序
  • tmp

得分解答快速导航

  • 帖主:bobqi
  • zhq2000
  • hotyei
  • bobqi
  • george77

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

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