相關函數 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函數應該加上/