如何在可视C++中删除文件

How to remove files in visual C++

本文关键字:删除 文件 C++ 可视      更新时间:2023-10-16

我正在尝试编写一行将删除特定文件的代码,但是我已经尝试了DeleteFile函数,它抛出"找不到标识符"(Visual Studio错误代码C3861)消息。

按钮单击事件中的代码为:

DeleteFile(path+"filemaker\start.ini");

我需要在我的表格1.h中做什么才能完成这项工作?

以使用DeleteFile的方式,您必须#include <Windows.h>,因为它 Win API 函数。

参数必须是char*指针,std::string不能用作参数。

因此,您可以执行以下操作:

std::string path = "\path\to\dir\";
std::string filename = path + "filemaker\start.ini"; (when path does end with "\")
DWORD res = DeleteFile(filename.c_str());

您也可以#include <stdio.h>(或<cstdio>)并使用

int remove(const char* filename)

它更好,因为它是跨平台(ANSI C)。

喜欢这个:

std::string path = "\path\to\dir\";
std::string filename = path + "filemaker\start.ini"; (when path does end with "\")
int res = remove(filename.c_str());

编辑您还需要添加封送处理,如下所示:

//includes
#include <msclrmarshal.h>
#include <msclrmarshal_cppstd.h>

现在的代码:

String^ filepath=path+"filemaker\start.ini";
const char* tmpptr= msclr::interop::marshal_as<const char*>(filepath);
DeleteFile(tmpptr);