关于int open(char *filename, int flags, mode_t mode); 的参数flags为以下值或者组合时:
O_RDONLY :没有文件时返回 -1;有文件时跳过,并且保留文件原来内容
O_WRONLY :没有文件时返回 -1;有文件时跳过,并且保留文件原来内容
O_RDWR :没有文件时返回 -1;有文件时跳过,并且保留文件原来内容
=============================================
O_RDONLY + O_CREAT : 没有文件时会创建文件;有文件时跳过,并且保留文件原来内容
O_RDONLY + O_TRUNC : 没有文件时返回 -1;有文件时清空文件内容
O_RDONLY + O_APPEND : 没有文件时返回 -1;有文件时跳过,并且保留文件原来内容
=============================================
O_WRONLY + O_CREAT : 没有文件时会创建文件;有文件时跳过,并且保留文件原来内容
O_WRONLY + O_TRUNC : 没有文件时返回 -1;有文件时清空文件内容
O_WRONLY + O_APPEND : 没有文件时返回 -1;有文件时跳过,并且保留文件原来内容
=============================================
O_RDWR + O_CREAT : 没有文件时会创建文件;有文件时跳过,并且保留文件原来内容
O_RDWR + O_TRUNC : 没有文件时返回 -1;有文件时清空文件内容
O_RDWR + O_APPEND : 没有文件时返回 -1;有文件时跳过,并且保留文件原来内容