『壹』 c語言怎樣刪除文件
首先要說明的是這里並不是指刪除C編譯器裡面的文件,呵呵,如果只是要刪除那些文件的話,那就很簡單,直接選中文件後按delete鍵就可以刪除了,但是我們刪除那些文件幹嘛?我們還要用它寫程序啊,呵呵。我在這里要說的是,怎樣使用C語言編寫程序來刪除文件。
在C語言中,我們可以使用remove()函數來刪除指定的文件,具體語法為:
Int remove(char *filename);其中filename是一個指向字元串的指針,該字元串可以組成有效的文件名,也可以包含路徑說明。如果我們要刪除D盤下的ABC.txt文件,我們就可以這樣寫:remove(「D:\ABC.txt」);
『貳』 c++中如何刪除文件
可以通過 system() 函數調用刪除文件的系統命令。
比如在 Linux 下刪除文件的命令是 rm,則在C/C++中刪除名為 p3.dat 文件:
system("rm p3.dat");
在Windows下可以調用DOS命令
#include <stdlib.h>
void main()
{
反之創建文件
1、調用Windows API函數 CreateDirectory()和RemoveDirectory(),成功返回0,否則返回非零。
頭文件<windows.h>
創建:CreateDirectory()
#include <Windows.h> //頭文件
#include<iostream>
using namespace std;
int main()
{
string path = "D:\1";
bool flag = CreateDirectory(path.c_str(), NULL);
return 0;
}
2、調用C運行庫函數int mkdir()和int rmdir(),包含頭文件<direct.h>
創建:mkdir()
#include<direct.h> //頭文件
#include<iostream>
using namespace std;
int main()
{
string path = "D:\1";
mkdir(path.c_str());
return 0;
}
『叄』 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"); //刪除多個文件
}
『肆』 如何在VS里用C語言刪除文件夾
刪除文件夾可以使用dos命令rd
在C語言中,加入頭文件#include <stdlib.h>
在需要刪除文件夾的語句位置使用system("rd D:/test")即可