当前位置: 首页 > 编程笔记 >

简单介绍C语言中的umask()函数和truncate()函数

费凯康
2023-03-14
本文向大家介绍简单介绍C语言中的umask()函数和truncate()函数,包括了简单介绍C语言中的umask()函数和truncate()函数的使用技巧和注意事项,需要的朋友参考一下

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 存取错误。

 类似资料:
  • 本文向大家介绍简单对比C语言中的fputs()函数和fputc()函数,包括了简单对比C语言中的fputs()函数和fputc()函数的使用技巧和注意事项,需要的朋友参考一下 C语言fputc()函数:写文件函数(将一指定字符写入文件流中) 头文件: 定义函数: 函数说明:fputc 会将参数c 转为unsigned char 后写入参数stream 指定的文件中. 返回值:fputc()会返回写

  • 本文向大家介绍C/C++产生随机数函数简单介绍,包括了C/C++产生随机数函数简单介绍的使用技巧和注意事项,需要的朋友参考一下 计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子。(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535,当你取得65535个随机数后它们又重复出现了。)  我们知道rand(

  • 本文向大家介绍简要对比C语言中的setgid()函数和setregid()函数,包括了简要对比C语言中的setgid()函数和setregid()函数的使用技巧和注意事项,需要的朋友参考一下 C语言setgid()函数:设置真实的组识别码 头文件: 定义函数: 函数说明:setgid()用来将目前进程的真实组识别码(real gid)设成参数gid 值. 如果是以超级用户身份执行此调用, 则rea

  • 本文向大家介绍简单介绍Python中的filter和lambda函数的使用,包括了简单介绍Python中的filter和lambda函数的使用的使用技巧和注意事项,需要的朋友参考一下 filter(function or None, sequence),其中sequence 可以是list ,tuple,string。这个函数的功能是过滤出sequence 中所有以元素自身作... filter(

  • 本文向大家介绍C#中的高阶函数介绍,包括了C#中的高阶函数介绍的使用技巧和注意事项,需要的朋友参考一下 介绍 我们都知道函数是程序中的基本模块,代码段。那高阶函数呢?听起来很好理解吧,就是函数的高阶(级)版本。它怎么高阶了呢?我们来看下它的基本定义: 1:函数自身接受一个或多个函数作为输入 2:函数自身能输出一个函数。  //函数生产函数   满足其中一个就可以称为高阶函数。高阶函数在函数式编程中

  • 本文向大家介绍详解C语言中的getgrgid()函数和getgrnam()函数,包括了详解C语言中的getgrgid()函数和getgrnam()函数的使用技巧和注意事项,需要的朋友参考一下 C语言getgrgid()函数:从组文件中取得指定gid的数据 头文件: 定义函数: 函数说明:getgrgid()用来依参数gid 指定的组识别码逐一搜索组文件, 找到时便将该组的数据以group 结构返回