linux下remove函數

remove(刪除文件)
相關函數 link,rename,unlink
表頭文件 #include<stdio.h>
定義函數 int remove(const char * pathname);
函數說明 remove()會刪除參數pathname指定的文件。如果參數pathname爲一文件,則調用unlink()處理,若參數pathname爲一目錄,則調用rmdir()來處理。請參考unlink()與rmdir()。
返回值 成功則返回0,失敗則返回-1,錯誤原因存於errno。
錯誤代碼 EROFS 欲寫入的文件存在於只讀文件系統內
EFAULT 參數pathname指針超出可存取內存空間
ENAMETOOLONG 參數pathname太長
ENOMEM 核心內存不足
ELOOP 參數pathname有過多符號連接問題

EIO I/O 存取錯誤。



可以結合perror函數實現,返回錯誤的具體信息

  if( remove(filename) == 0 )
        printf("Removed %s.", filename);
    else
        perror("remove");
}

perror ( )用 來 將 上 一 個 函 數 發 生 錯 誤 的 原 因 輸 出 到 標 準 錯誤 (stderr) 。參數 s 所指的字符串會先打印出,後面再加上錯誤原因字符串。此錯誤原因依照全局變量errno 的值來決定要輸出的字符串。
  在庫函數中有個error變量,每個error值對應着以字符串表示的錯誤類型。當你調用"某些"函數出錯時,該函數已經重新設置了error的值。perror函數只是將你輸入的一些信息和現在的error所對應的錯誤一起輸出。

remove錯誤可能原因

1

文件路徑

注意:

strct函數應該加上/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章