跳到主要内容

C++ remove() 删除文件函数

C++ 中的 remove() 函数用于删除指定文件。它定义在 cstdio 头文件中。

示例

#include <iostream>
#include <cstdio>
using namespace std;

int main() {
char filename[] = "program.cpp";

// 删除文件 "program.cpp"
int result = remove(filename);

cout << result;

return 0;
}

// 输出:-1

remove() 语法

remove() 函数的语法是:

remove(const char* filename);

remove() 参数

remove() 函数接受以下参数:

  • filename - 指向 C 字符串的指针,包含要删除的文件的名称及其路径

注意: C++ string 类的变量不能用作 remove() 的参数。

remove() 返回值

remove() 函数返回:

  • 如果文件成功删除,则返回零
  • 如果删除过程中发生错误,则返回非零值

remove() 函数原型

cstdio 头文件中定义的 remove() 函数原型是:

int remove(const char* filename);

使用 remove() 删除已打开的文件

如果要删除的文件已被某个进程打开,remove() 函数的行为是实现定义的:

  • POSIX 系统 - 如果名称是文件的最后一个链接,但任何进程仍然打开了文件,那么文件将一直存在,直到最后一个运行的进程关闭文件。
  • Windows - 如果任何进程仍然打开了文件,那么不允许删除该文件。

示例:C++ remove()

#include <iostream>
#include <cstdio>

using namespace std;

int main() {
char filename[] = "C:\\Users\\file.txt";

// 如果文件存在,则删除它
int result = remove(filename);

// 检查文件是否已成功删除
if (result != 0) {
// 打印错误信息
cerr << "文件删除失败";
}
else {
cout << "文件删除成功";
}

return 0;
}

输出

文件删除失败