c中删除文件夹
可以用rmdir
不过 限制是 文件夹必须是空的
如果文件夹非空 需要遍历递归调用remove和rmdir删除所有文件和子文件夹。
事实上
系统命令的rm -r 也是rmdir和remove 递归的。
❷ VC删除当前文件夹指定文件
使用DeleteFile 方法删除指定文件。
BOOL DeleteFile(
LPCTSTR lpFileName // 文件名 指针
);
功能说明
删除一个存在的文件
返回值
如果成功返回一个非0值
失败返回0 可以用GetLastError函数得到错误信息
如果程序尝试删除一个不存在的文件。GetLastError返回ERROR_FILE_NOT_FOUND。如果文件是只读 的,则GetLastError返回ERROR_ACCESS_DENIED
示例代码:
CStringtype,dPath;
dPath.Format("%s\Log\",SystemDir);//指定路径
BOOLret=0;
CFileFindtempFind;
CStringfoundFileName,tempFileName;
CStringtempFileFind=dPath+_T("*.*");
BOOLIsFinded=(BOOL)tempFind.FindFile(tempFileFind);
while(IsFinded)
{
IsFinded=(BOOL)tempFind.FindNextFile();
if(!tempFind.IsDots())
{
foundFileName=tempFind.GetFileName();
tempFileName=dPath+foundFileName;
ret=DeleteFile(tempFileName);//删除文件
}
}
tempFind.Close();
❸ C#怎么删除文件夹的文件
publicstaticvoidDelectDir(stringsrcPath)
{
try
{
DirectoryInfodir=newDirectoryInfo(srcPath);
FileSystemInfo[]fileinfo=dir.GetFileSystemInfos();//返回目录中所有文件和子目录
foreach(FileSystemInfoiinfileinfo)
{
if(iisDirectoryInfo)//判断是否文件夹
{
DirectoryInfosubdir=newDirectoryInfo(i.FullName);
subdir.Delete(true);//删除子目录和文件
}
else
{
//如果使用了streamreader在删除前必须先关闭流,否则无法删除sr.close();
File.Delete(i.FullName);//删除指定文件
}
}
}
catch(Exceptione)
{
throw;
}
}
(3)c中删除文件夹扩展阅读
C#删除指定文件或文件夹
//1、首先判断文件或者文件路径是否存在
if(File.Exists(fileFullPath))
{
//2、根据路径字符串判断是文件还是文件夹
FileAttributesattr=File.GetAttributes(fileFullPath);
//3、根据具体类型进行删除
if(attr==FileAttributes.Directory)
{
//3.1、删除文件夹
Directory.Delete(fileFullPath,true);
}
else
{
//3.2、删除文件
File.Delete(fileFullPath);
}
File.Delete(fileFullPath);
}
❹ c\c++怎样删除文件夹
第一种方法
1.SHFileOperation
SHFILEOPSTRUCT FileOp;
ZeroMemory((void*)&FileOp,sizeof(SHFILEOPSTRUCT));
FileOp.fFlags = FOF_SILENT|FOF_NOCONFIRMATION;
FileOp.hNameMappings = NULL;
FileOp.hwnd = NULL;
FileOp.lpszProgressTitle = NULL;
FileOp.pFrom = lpszPath;
FileOp.pTo = NULL;
FileOp.wFunc = FO_DELETE;
SHFileOperation(&FileOp);
如果加了FOF_SILENT标志,那么在函数调用的时候,即使出错,也不会弹框提示,但是,今天发现,如果这个目录是共享的,依然还是会弹框提示。不知道是不是一个Bug呢?
2.CFileFind
bool DeleteDirectory(char* strDirName)
{
CFileFind tempFind;
char strTempFileFind[MAX_PATH];
sprintf(strTempFileFind,"%s\\*.*", strDirName);
BOOL IsFinded = tempFind.FindFile(strTempFileFind);
while (IsFinded)
{
IsFinded = tempFind.FindNextFile();
if (!tempFind.IsDots())
{
char strFoundFileName[MAX_PATH];
strcpy(strFoundFileName, tempFind.GetFileName().GetBuffer(MAX_PATH));
if (tempFind.IsDirectory())
{
char strTempDir[MAX_PATH];
sprintf(strTempDir,"%s\\%s", strDirName, strFoundFileName);
DeleteDirectory(strTempDir);
}
else
{
char strTempFileName[MAX_PATH];
sprintf(strTempFileName,"%s\\%s", strDirName, strFoundFileName);
DeleteFile(sTempFileName);
}
}
}
tempFind.Close();
if(!RemoveDirectory(strDirName))
{
return FALSE;
}
return TRUE;
}
这个主要通过递归的方法,依次删除文件,直到目录为空,删除目录、文件夹。
第二种
//这是用vc的方法:
bool MyDeleteFile(char * lpszPath)
{
SHFILEOPSTRUCT FileOp={0};
FileOp.fFlags = FOF_ALLOWUNDO | //允许放回回收站
FOF_NOCONFIRMATION; //不出现确认对话框
FileOp.pFrom = lpszPath;
FileOp.pTo = NULL; //一定要是NULL
FileOp.wFunc = FO_DELETE; //删除操作
return SHFileOperation(&FileOp) == 0;
}
void MyDialog::OnButton3()
{
// MyDeleteFile("d:\\PID\0\0"); //删除一个文件夹
MyDeleteFile("d:\\PID.dsp\0d:\\PID.dsw\0\0"); //删除多个文件
}
void MyDialog::OnButton3()
{
// MyDeleteFile("d:\\PID\0\0"); //删除一个文件夹
MyDeleteFile("d:\\PID.dsp\0d:\\PID.dsw\0\0"); //删除多个文件
}
❺ C:\Users\ADMINI~1\AppData\Local\Temp,可以删除这个文件夹吗
可以部分删除,local下面的Temp文件夹内容,这是系统的临时文件,可以删掉。还可以删掉Roaming文件夹系统中没有安装的程序的空文件夹。
C盘AppData文件夹是一个系统文件夹,里面存储着临时文件,各种应用的自定义设置,快速启动文件等。详细步骤:
1、首先让系统显示隐藏文件,按win+R键打开运行,输入controlfolders,如下图所示:
❻ 怎么用C语言删除一个文件夹
//调用system函数并传递字符串参数rd
/s
/q
path(path为目录的路径)就行了
//下面有一个例子
#include<stdio.h>
#include<string.h>
int
main()
{
char
cmd[256]="rd
/s
/q
";
printf("请输入要删除的目录的路径:");
//将目录的路径连接到cmd的后面
gets(cmd+strlen(cmd));
if(0==system(cmd))
printf("目录已删除,请注意查看!\n");
return
0;
}
❼ 怎么用C语言删除一个文件夹
可以用 rmdir() 函数,需要包含头文件 direct.h, 还有一点需要注意,文件夹内是空的才可以删除掉。下面是一个删除d: emp文件夹,代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<direct.h>
intmain()
{
rmdir("D:\temp");
system("pause");
return0;
}
❽ c语言怎么删除一个文件夹里的所有文件
比如说你要删除所有C盘中的文件:
system("del *.*");
del是DOS下的删除命令, *.*这个我不用解释了吧?
❾ c:\windows文件夹里哪些东西是可以删除的
C盘都是系统文件,删错很容易出问题,可以使用系统自带的清理程序进行清理。
如下参考:
1.单击桌面左下角的“开始”菜单,然后单击“设置”图标。
❿ c语言怎么删除文件夹里所有文件
如果想简单
就直接调用系统命令
比如 windows下
system("delete xxxx\\*");
Linux下
system("rm xxxx/*")
如果想用纯C接口
先opendir
然后循环遍历readdir
依次调用remove 函数删除文件。