小编Pra*_*sht的帖子

O_APPEND打开文件后写入文件时出错 O_CREATE

我已经在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模式,则不会发生此错误并且程序可以成功运行

c operating-system

1
推荐指数
1
解决办法
3712
查看次数

标签 统计

c ×1

operating-system ×1