This example edits the name of the file "CONFIG.SYS", using "*.CPY", and transforms it to "CONFIG.CPY". Then, it copies the contents of the original file to "CONFIG.CPY" using the DosCopy function.
#define INCL_DOSFILEMGR /* File Manager values */ #define INCL_DOSERRORS /* DOS error values */ #include <os2.h> #include <stdio.h> #include <string.h> int main(VOID) { UCHAR achSourceString[80] = "config.sys"; /* String to transform */ UCHAR achEditString[80] = "*.cpy"; /* Editing string */ UCHAR achTargetString[200] = ""; /* Destination string buffer */ APIRET rc = NO_ERROR; /* Return code */ rc = DosSetDefaultDisk(3); /* Set drive to C: (1=A, 2=B, 3=C, ...) */ if (rc != NO_ERROR) { printf("DosSetDefaultDisk error: return code = %u\n", rc); return 1; } rc = DosSetCurrentDir ("\\"); /* Set directory to root */ if (rc != NO_ERROR) { printf("DosSetCurrentDir error: return code = %u\n", rc); return 1; } /* Transform "CONFIG.SYS" using "*.CPY" to "CONFIG.CPY" */ rc = DosEditName(1, achSourceString, achEditString, achTargetString, 200); if (rc != NO_ERROR) { printf("DosEditName error: return code = %u\n", rc); return 1; } /* Copy contents of CONFIG.SYS to the backup file */ rc = DosCopy(achSourceString, /* Name of file to be copied */ achTargetString, /* Name of the target file */ DCPY_EXISTING); /* Copy even if target file already exists */ if (rc != NO_ERROR) { printf("DosCopy error: return code = %u\n", rc); return 1; } else printf ("Backup file %s created.\n", achTargetString); return NO_ERROR; }