C如何阻止文件被覆盖

时间:2016-06-06 22:21:20

标签: c unix

目前,文件已创建并被覆盖。我试图得到它,如果文件已经存在,它只是退出程序。必须使用open。

if ((dest = open(argv[2], O_WRONLY | O_CREAT, 0644)) == -1) {
    printf("Error File %s exists", argv[2]);
    return 3; 
 }

1 个答案:

答案 0 :(得分:6)

只需使用O_EXCL

  

O_EXCL确保此调用创建文件:如果此标志为   与O_CREAT一起指定,和路径名已存在,   然后open()将失败