使用 remove() 函数或 std::filesystem::remove 删除文件。前者来自 cstdio,成功返回0,失败返回非零值;后者为 C++17 新增,返回布尔值并支持异常处理,更安全现代。

在C++中删除指定文件可以通过调用标准库中的 remove() 函数实现。这个函数定义在 cstdio 头文件中,适用于大多数操作系统,包括Windows和Linux。
使用 remove() 函数删除文件
remove() 函数用于删除指定路径的文件。如果删除成功,返回0;失败则返回非零值,并可通过 errno 获取错误原因。
基本语法如下:
int remove(const char *filename);示例代码:
立即学习“C++免费学习笔记(深入)”;
#include#include iostream>
int main() {
const char* filepath = "example.txt";
if (remove(filepath) == 0) {
std::cout } else {
std::cout }
return 0;
}
注意事项与常见问题
在使用 remove() 删除文件时,需要注意以下几点:
- 确保程序对目标文件具有删除权限
- 文件不能处于打开状态(如被其他进程占用)
- 路径需正确,相对路径或绝对路径均可,但要确保有效
- Windows系统中反斜杠需转义,例如:"C:\\temp\\test.txt"
使用 std::filesystem (C++17及以上)
如果你使用的是C++17或更高版本,推荐使用 std::filesystem 库,它提供了更现代和安全的文件操作方式。
示例:
#include#include
int main() {
std::string filepath = "example.txt";
try {
if (std::filesystem::remove(filepath)) {
std::cout } else {
std::cout }
} catch (const std::filesystem::filesystem_error& ex) {
std::cout }
return 0;
}
std::filesystem::remove 返回一个布尔值,表示是否删除成功,同时支持异常处理,更适合复杂项目。
基本上就这些。根据编译器和C++标准选择合适的方法即可。










