creatnew

De RAD Studio
Aller à : navigation, rechercher

Remonter à Io.h - Index


Header File

io.h

Category

Input/output Routines

Prototype

int creatnew(const char *path, int mode);

Description

Creates a new file.

creatnew is identical to _rtl_creat with one exception: If the file exists, creatnew returns an error and leaves the file untouched.

The mode argument to creatnew can be zero or an OR-combination of any one of the following constants (defined in dos.h):

FA_HIDDEN

Hidden file

FA_RDONLY

Read-only attribute

FA_SYSTEM

System file



Return Value

Upon successful completion, creatnew returns the new file handle, a nonnegative integer; otherwise, it returns -1.

In the event of error, the global variable errno is set to one of the following values:

EACCES

Permission denied

EEXIST

File already exists

EMFILE

Too many open files

ENOENT

Path or file name not found



Example



 #include <string.h>
 #include <stdio.h>
 #include <errno.h>
 #include <io.h>
 int main(void)
 {
    int handle;
    char buf[11] = "0123456789";
    /* attempt to create a file that doesn't already exist */
    handle = creatnew("DUMMY.FIL", 0);
 if (handle == -1)
       printf("DUMMY.FIL already exists.\n");
    else
    {
       printf("DUMMY.FIL successfully created.\n");
       write(handle, buf, strlen(buf));
       close(handle);
    }
    return 0;
 }



Portability



POSIX Win32 ANSI C ANSI C++

+