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;
}
输出
文件删除失败