我已经在O_APPEND中打开了一个名为“ pranav”的文本文件| O_CREAT模式如下图所示:
#include<unistd.h>
#include<fcntl.h>
#include<stdio.h>
main()
{
//FILE Descriptor fdes
/*Open file pranav.txt in write-only mode,
O_CREAT creates file if it does not exist*/
int fdes = open("pranav.txt",O_APPEND | O_CREAT );
//Error returns -1
if(fdes!=-1)
{
//To write on file
if((write(fdes,"Pranav",6))== -1)
write(2,"File_Writing_Error",18);
//To print on screen
else
write(1,"Done",4);
}
else
{
//Print "error" on screen
write(2,"File_Opening_Error",18);
}
close(fdes);
}
Run Code Online (Sandbox Code Playgroud)
在O_APPEND模式下,它执行write(2,“ File_Writing_Error”,18); 语句,因此无法在文件上写入“ Pranav”,但是如果我使用O_WRONLY模式,则不会发生此错误并且程序可以成功运行