关于文件的结尾处理? 急!急!急!!!

woaicc 2004-04-13 09:36:50
我现在编了一个程序,是删除文件中的一些记录,但是文件的结尾,并没有改变,我该怎样做才能让文件的结尾上移到我删除记录后的新位置那?
...全文
40 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
BuW 2004-04-16
  • 打赏
  • 举报
回复
关注!~~~~~~~~~``



公孙大哥果然牛XX!~~~~~~~~~
CsdnPlayer 2004-04-16
  • 打赏
  • 举报
回复
函数名: chsize
功 能: 改变文件大小
用 法: int chsize(int handle, long size);
程序例:

#include <string.h>
#include <fcntl.h>
#include <io.h>

int main(void)
{
int handle;
char buf[11] = "0123456789";

/* create text file containing 10 bytes */
handle = open("DUMMY.FIL", O_CREAT);
write(handle, buf, strlen(buf));

/* truncate the file to 5 bytes in size */
chsize(handle, 5);

/* close the file */
close(handle);
return 0;
}
BuW 2004-04-15
  • 打赏
  • 举报
回复
学习以下!~~~~
laomai 2004-04-15
  • 打赏
  • 举报
回复
我又查了一下,好象是TC里面的函数,叫chsize
woaicc 2004-04-15
  • 打赏
  • 举报
回复
谢谢兄台们的指点,我会一个一个试试的。
junnyfeng 2004-04-13
  • 打赏
  • 举报
回复
把重写后的东西写到一个新的文件里行不?其中掠过空白符。
这样应该比移动并删除文件内容要快的。
hchinside 2004-04-13
  • 打赏
  • 举报
回复
用SetFilePointer和SetEndOfFile两个api
pengzhenwanli 2004-04-13
  • 打赏
  • 举报
回复
如果删除文件的内容,我认为比较好的办法是重新写一个新的文件。把改正后的文件copy到新文件中。然后删除源文件。我认为没有什么比较好的办法。在windows下的word也是建立和很多临时文件。
moswawa 2004-04-13
  • 打赏
  • 举报
回复
你读出文件到内存.
删掉原来所有的内容,(可以rename)
删掉你要删的,写回文件.
woaicc 2004-04-13
  • 打赏
  • 举报
回复
操作系统是dos 6。22
我得目的是删除一些记录后,文件的大小也随之减小。
laomai 2004-04-13
  • 打赏
  • 举报
回复
用resize(具体名字)就可以吧,C里不是就有改变文件大小的函数吗?
HaiFen 2004-04-13
  • 打赏
  • 举报
回复
据说使用fwrite写入0个字节的数据就会自动截断文件,不过我没试过。
woaicc 2004-04-13
  • 打赏
  • 举报
回复
我的目的市由于电脑硬盘空间有限,想通过删除记录,增大磁盘得空间
woaicc 2004-04-13
  • 打赏
  • 举报
回复
请问ing怎么用?
chendahai 2004-04-13
  • 打赏
  • 举报
回复
关注ING
woaicc 2004-04-13
  • 打赏
  • 举报
回复
在DOS下有setfilepointer和setendfile码?
如果有怎么用/

70,022

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧