You can delete a file with the functions unlink or remove .
Deletion actually deletes a file name. If this is the file's only name, then the file is deleted as well. If the file has other names as well (see Hard Links), it remains accessible under its other names.
unlink function deletes the file name filename. If this is a file's sole name, the file itself is also deleted. (Actually, if any process has the file open when this happens, deletion is postponed until all processes have closed the file.)
The function unlink is declared in the header file `unistd.h'.
This function returns 0 on successful completion, and -1 on error. In addition to the usual file name syntax errors (see File Name Errors), the following errno error conditions are defined for this function:
EACCES
EBUSY
ENOENT
EPERM unlink cannot be used to delete the name of a directory, or can only be used this way by a privileged user. To avoid such problems, use rmdir to delete directories. The GNU system
EROFS
rmdir function deletes a directory. The directory must be empty before it can be removed; in other words, it can only contain entries for `.' and `..'.
In most other respects, rmdir behaves like unlink . There are two additional errno error conditions defined for rmdir :
ENOTEMPTY EEXIST
These two error codes are synonymous; some systems use one, and some use the other. The GNU system always uses ENOTEMPTY .
The prototype for this function is declared in the header file `unistd.h'.
unlink for files and like rmdir for directories. remove is declared in `stdio.h'.