国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

簡單介紹C語言中的umask()函數和truncate()函數

2020-01-26 14:54:52
字體:
來源:轉載
供稿:網友

C語言umask()函數:設置建立新文件時的權限遮罩
頭文件:

#include <sys/types.h>  #include <sys/stat.h>

定義函數:

mode_t umask(mode_t mask);

函數說明:umask()會將系統umask值設成參數mask&0777后的值, 然后將先前的umask值返回。在使用open()建立新文件時, 該參數mode 并非真正建立文件的權限, 而是(mode&~umask)的權限值。

例如:
在建立文件時指定文件權限為0666, 通常umask 值默認為022, 則該文件的真正權限則為0666&~022=0644, 也就是rw-r--r--返回值此調用不會有錯誤值返回. 返回值為原先系統的umask 值。

C語言truncate()函數:改變文件大小
頭文件:

#include <unistd.h>

定義函數:

int truncate(const char * path, off_t length);

函數說明:truncate()會將參數path 指定的文件大小改為參數length 指定的大小. 如果原來的文件大小比參數length 大, 則超過的部分會被刪去.

返回值:執行成功則返回0, 失敗返回-1, 錯誤原因存于errno.

錯誤代碼:
1、EACCESS 參數path 所指定的文件無法存取。
2、EROFS 欲寫入的文件存在于只讀文件系統內。
3、EFAULT 參數path 指針超出可存取內存空間。
4、EINVAL 參數path 包含不合法字符。
5、ENAMETOOLONG 參數path 太長。
6、ENOTDIR 參數path 路徑并非一目錄。
7、EISDIR 參數path 指向一目錄。
8、ETXTBUSY 參數path 所指的文件為共享程序, 而且正被執行中。
9、ELOOP 參數path 有過多符號連接問題。
10、EIO I/O 存取錯誤。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 土默特左旗| 湖口县| 柏乡县| 浦城县| 习水县| 沁水县| 南投县| 辉县市| 洛浦县| 张家口市| 噶尔县| 旌德县| 鹤岗市| 宜兴市| 邓州市| 津市市| 那坡县| 万全县| 白水县| 泰和县| 大埔区| 宁津县| 阳高县| 北海市| 沛县| 遂川县| 布拖县| 永安市| 宝应县| 郎溪县| 湖口县| 满城县| 曲阳县| 兰州市| 新郑市| 东乌| 偃师市| 马龙县| 都安| 山西省| 盖州市|