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