C 语言中如何删除一个文件

changyanshuo 2005-01-20 07:05:15
在 C 语言中如何删除一个文件或者一组文件,尤其是带路径的。
如想删除 d:\chang\*.txt

一QQ朋友指点:
#include<conio.h>
……
system("del xxx.txt");
……

(1).确实可以删除当前路径下的文件,可带上路径就不行了
如:system("del d:\chang\xxx.txt");
要带路径删除文件该怎么作呀?
(2).当我删除 *.exe 时程序就把自己也删除了,如何只删除别的,留下删除程序本身?
(3).什么书中有这方面知识,介绍两本。电子书最好,何地有下载的?

先谢谢了
...全文
6231 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjf8086 2005-01-20
  • 打赏
  • 举报
回复
c的字符串里面\要用转义\\
changyanshuo 2005-01-20
  • 打赏
  • 举报
回复
kent5566()
我试了你说的带路径删除的方法,确实是的
你能帮我推荐两本这方面的书吗
winstonch 2005-01-20
  • 打赏
  • 举报
回复
(1).确实可以删除当前路径下的文件,可带上路径就不行了
如:system("del d:\chang\xxx.txt");
要带路径删除文件该怎么作呀?

答:在字符串中要表示\需要这么写\\,就是system("del d:\\chang\\xxx.txt");
(2).当我删除 *.exe 时程序就把自己也删除了,如何只删除别的,留下删除程序本身?

答:这个问题恐怕没法帮你解决,因为我不知道如何得到当前运行的文件名(它应该可以被改名),有时间可以帮你找找^-^
(3).什么书中有这方面知识,介绍两本。电子书最好,何地有下载的?

答:MSDN就不错

changyanshuo 2005-01-20
  • 打赏
  • 举报
回复
你通过system("del ?????")就能删除自身?不可能吧
普通模式下可以删除exe自身吗??我只知道ring0级别可以的.
-----------------------------------------------------
我是在 tc2.0 下调试的 ,确实删除了它自己
阁下有兴趣可以亲自试试

=======================================================
希望帮忙的朋友能具体针对我的 三 点疑问进行解答
不胜感激!!!

CMyMfc 2005-01-20
  • 打赏
  • 举报
回复
msdn
grayfoxdie 2005-01-20
  • 打赏
  • 举报
回复
插嘴一句撒,今天看了一下C的库文件。也就是.h文件,里面的东西都看不明白,只知道有很多#,我想问下如何看这些东西,或者怎么知道这些东西怎么利用
CMyMfc 2005-01-20
  • 打赏
  • 举报
回复
remove 删除
rename 改名
yjh1982 2005-01-20
  • 打赏
  • 举报
回复
今天才发现C库有remove,惭愧!
winstonch 2005-01-20
  • 打赏
  • 举报
回复
用remove吧
liixixi 2005-01-20
  • 打赏
  • 举报
回复
handle4......
kent5566 2005-01-20
  • 打赏
  • 举报
回复
(2).当我删除 *.exe 时程序就把自己也删除了,如何只删除别的,留下删除程序本身?
-------------------------------------------
你通过system("del ?????")就能删除自身?不可能吧
普通模式下可以删除exe自身吗??我只知道ring0级别可以的.
kent5566 2005-01-20
  • 打赏
  • 举报
回复
(1).确实可以删除当前路径下的文件,可带上路径就不行了
如:system("del d:\chang\xxx.txt");
--------------------------------
应该是这个吧 system("del d:\\chang\\xxx.txt");
suyouxin 2005-01-20
  • 打赏
  • 举报
回复
#include <stdio.h>

void main( void )
{
if( remove( "remove.obj" ) == -1 )
perror( "Could not delete 'REMOVE.OBJ'" );
else
printf( "Deleted 'REMOVE.OBJ'\n" );
}
sharkhuang 2005-01-20
  • 打赏
  • 举报
回复
remove夸平台得哦
xjb12 2005-01-20
  • 打赏
  • 举报
回复
朋友,这个符合你的要求么?
#include "stdio.h"
#include "stdlib.h"
#include "string.h"

int main()
{
char filename[50]="";
char comdel[100]="del ";
//comdel="del ";
printf("please input file name :");
scanf("%s",filename);


strcat(comdel,filename);
system(comdel);
return 0;
}
YFY 2005-01-20
  • 打赏
  • 举报
回复
先用 remove("文件名") 删除,
失败时再使用 system(" ") 命令去掉只读,隐藏属性,再用remove("文件名") 删除
kobefly 2005-01-20
  • 打赏
  • 举报
回复
不是有api
DeleteFile吗?
flamingheart 2005-01-20
  • 打赏
  • 举报
回复
关注ing
daylove 2005-01-20
  • 打赏
  • 举报
回复
'\'只转义字符,要加个\

应该这样:system("del d:\\chang\\xxx.txt");

69,382

社区成员

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

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