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 函數刪除文件。