如何在可视C++中删除文件
How to remove files in visual C++
我正在尝试编写一行将删除特定文件的代码,但是我已经尝试了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);
相关文章:
- 如何在输入新内容 c++ 之前删除文件中的所有内容
- 文件模式标志"ios::app"是否用于删除文件(如果文件已存在)?
- 查找并删除文件 C++ 中的整行
- 如何删除文件中的数字,通过 c++ fstream 的
- 以编程方式防止重命名或删除文件,但仍使其可写
- C++ 如何使用_rmdir删除文件?
- 关于从驱动器中删除文件的问题
- Linux 从永远在线的应用程序中创建和删除文件
- 用户使用C++中的删除功能删除文件
- 如何在C++中删除文件中的一部分文本
- 我可以删除 *.o文件(代码:: blocks)
- 为什么std ::删除文件始终返回-1
- C++ 使用数字删除文件 io 行
- 如何使用 c++ 删除文件夹及其内容
- 如何在 C++ 中的文件处理中删除文件
- 用数字删除文件
- Cygwin:打开句柄时删除文件
- 接收文件并删除文件中的重复项
- 删除文件 C++ 中字符串中最后一个出现的字符
- 在循环内删除文件时使提升recursive_directory_iterator无效