The remove()
function in C++ deletes a specified file. It is defined in the cstdio header file.
Example
#include <iostream> #include <cstdio> using namespace std; int main() { char filename[] = "program.cpp"; // remove the file "program.cpp" int result = remove(filename); cout << result; return 0; } // Output: -1
remove() Syntax
The syntax of the remove()
function is:
remove(const char* filename);
remove() Parameters
The remove()
function takes the following parameter:
- filename - pointer to the C-string containing the name of the file along with the path to delete
Note: Variables of the C++ string
class cannot be used as parameters for remove()
.
remove() Return Value
The remove()
function returns:
- zero if the file is successfully deleted
- non-zero if error occurs in deletion process
remove() Prototype
The prototype of remove()
as defined in the cstdio header file is:
int remove(const char* filename);
Delete Opened Files with remove()
In case the file to be deleted is opened by a process, the behaviour of remove()
function is implementation-defined:
- POSIX systems - If the name was the last link to a file, but any processes still have the file open, the file will remain in existence until the last running process closes the file.
- Windows - The file won't be allowed to be deleted if it remains open by any process.
Example: C++ remove()
#include <iostream> #include <cstdio> using namespace std; int main() { char filename[] = "C:\\Users\\file.txt"; // deletes the file if it exists int result = remove(filename); // check if file has been deleted successfully if (result != 0) { // print error message cerr << "File deletion failed"; } else { cout << "File deleted successfully"; } return 0; }
Output
File deletion failed