ID: Q48090
5.10 6.00 6.00a 6.00ax 7.00 | 1.00 1.50
MS-DOS | WINDOWS
kbprg kbcode
The information in this article applies to:
- Microsoft C for MS-DOS, versions 5.1, 6.0, 6.0a, and 6.0ax
- Microsoft C/C++ for MS-DOS, version 7.0
- Microsoft Visual C++ for Windows, versions 1.0 and 1.5
When using the remove() function to delete files, passing a wildcard as an argument to remove() does not delete any files.
To delete all the files in a directory, use the _dos_findfirst and _dos_findnext functions to search for each file; then use the remove() function to delete each file. The sample code below demonstrates how to write a code equivalent to remove("*.*").
#include <stdio.h>
#include <dos.h>
#include <io.h>
main ()
{
struct find_t c_file;
char fn[12];
printf ("Enter file to delete: ");
scanf ("%s", fn);
/* This code section will delete all the files in the directory. */
if (strcmp(fn, "*.*") == 0) {
_dos_findfirst ("*.*", _A_NORMAL, &c_file);
do {
remove (c_file.name);
} while (_dos_findnext (&c_file) == 0);
}
else
/* This section will delete only one file. */
if (remove (fn) == -1)
printf ("File not found\n");
else
printf ("File successfully deleted\n");
}
Additional reference words: kbinf 1.00 1.50 5.10 6.00 6.00a 6.00ax 7.00
KBCategory: kbprg kbcode
KBSubcategory: CRTIss
Keywords : kb16bitonly
Last Reviewed: July 18, 1997