带O_EXCL参数选项的差别:
第一种:
int fd = open(PATH, O_RDWR | O_CREAT, 0666);
当PATH存在时,函数返回值fd为该文件描述符,不存在则创建,函数返回值fd也为该文件描述符;
--------------- --------------------------------------------------------------------------------------------------------------------
第二种:
int fd2 = open(PATH, O_RDWR | O_CREAT | O_EXCL, 666);
if( fd2 < 0)
{
printf("this file is exist!\n";);
fd2 = open(PATH, O_RDWR);
}
当PATH存在时,函数返回值fd为-1(相当于出错),不存在则创建,函数返回值fd为该文件描述符;用于说明该文件是原来存在的还是此时open创建的。我们可通过添加判断执行if的printf语句提示文