C++中如何删除一个txt文件?

 我来答
邬增岳管婵
2019-03-30 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:26%
帮助的人:867万
展开全部
1.文件小的话,完整读入内存,在内存中删除,然后以写方式清空原始文件并覆盖;
2.文件大的话,先逐段读取,确认要删除的起止位置,然后将之后的内容分段读出并覆盖到前面,最后截去文件多余的长度;
3.如果磁盘足够大,也可以从头读取原始文件并转存到一个缓存文件,遇到要删除的地方则跳过不写,所有内容都写入缓存文件后,将缓存文件整个copy覆盖原始文件,删除缓存文件.
c++没有提供像编辑器那样提供那么简单快捷的直接删除方法,只能够覆盖写过去.
tattackor
推荐于2016-11-01 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:878万
展开全部

1.用remove函数
功 能: 删除一个文件  
用 法: int remove( const char *filename);
头文件:在Visual C++ 6.0中可以用stdio.h
返回值:如果删除成功,remove返回0,否则返回EOF(-1)。

2.例:

#include <stdio.h>
int main()
{
 if(remove("1.txt"))
 printf("Could not delete the file &s \n","1.txt");
 else printf("OK \n");
return 0;
}

1.txt在程序目录下

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
JUST_FANCY
2010-05-23 · 超过28用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:0
展开全部
帮一楼补充API的,可以用DeleteFile删除指定的文件,看原型:
BOOL WINAPI DeleteFile(
__in LPCTSTR lpFileName
);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leezhm
2010-05-22 · TA获得超过107个赞
知道小有建树答主
回答量:256
采纳率:0%
帮助的人:209万
展开全部
system("DEL /f c:\\test.txt");

好好学习哈system命令
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fox000002
2010-05-22 · TA获得超过3827个赞
知道大有可为答主
回答量:2356
采纳率:97%
帮助的人:1173万
展开全部
可以用

cstdio (stdio.h)

int remove ( const char * filename );

也可以调用系统 API
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式