溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux open命令怎么用

發(fā)布時間:2022-01-26 15:45:35 來源:億速云 閱讀:187 作者:iii 欄目:開發(fā)技術

這篇文章主要介紹“Linux open命令怎么用”,在日常操作中,相信很多人在Linux open命令怎么用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux open命令怎么用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

Linux open命令怎么用

open命令用于打開文件,使用時需要引用頭文件,若失敗,返回-1,否則返回正整數(shù),0是標準輸入流,1是標準輸出流,2是標準錯誤流,其他文件從3開始遞增。函數(shù)定義如下

 __extern_always_inline int
 open (__const char *__path, int __oflag, ...)
 {
   if (__va_arg_pack_len () > 1)
     __open_too_many_args ();
 
   if (__builtin_constant_p (__oflag))
     {
       if ((__oflag & O_CREAT) != 0 && __va_arg_pack_len () 入?yún)⒅?,path是要打開或創(chuàng)建的文件路徑,oflag是標記,用來標識要打開或創(chuàng)建的文件所擁有的權限,由主flag和備flag組成,主flag有O_RDONLY, O_WRONLY, O_RDWR,分別表示只讀,只寫,讀寫,三者必有其一,備flag可以自由選擇,常用的一個備flag是O_CREAT,用于在沒有該文件的時候,在__path路徑下創(chuàng)建該文件。可以附加第三個參數(shù),類型為mode_t,是8進制數(shù),用3位分別表示所有者權限、群組權限、其他用戶權限,每位由4 | 2 | 1組成,4是讀,2是寫,1是執(zhí)行,例如0600表示所有者擁有讀寫權限(6 = 4 | 2)。一個示例代碼: #ifdef _cplusplus
 extern "C" {
 #endif
 
 #include #include #include //for open
 #include //for printf
 
 
 void main(argc, argv)
  int argc;
  char ** argv;
 {
  char * filename = "lala";   //要創(chuàng)建的文件
  char * str = "hello, world\n";  //要向文件中寫入的內(nèi)容
  int fd1 = open(filename, O_RDWR | O_CREAT, 0644);
  printf("tmp = %d\n", fd1);
  write(fd1, str, strlen(str) + 1);
  system("cat lala");
 
  int fd2 = open(filename, O_CREAT | O_WRONLY | O_EXCL, 0600);
  if (-1 == fd2)
  {
   fd2 = open(filename, O_WRONLY | O_EXCL | O_TRUNC, 0600);
   printf("fd = %d\n", fd2);  //fd2的值會比fd1大1
  }
  close(fd1);
  close(fd2);
  system("cat lala");
 }
 
 
 
 
 #ifdef _cplusplus
 }
 #endif

到此,關于“Linux open命令怎么用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI