普通文件或共享内存区的大小都可以通过该函数修改

#include <unistd.h>

int ftruncate(int fd,off_t leght);
//成功返回0失败返回-1
  1. 对于一个普通文件,如果该文件的大小大于lenght参数,额外的数据就会被丢弃,如果该文件的大小小于lenght,那么该文件是否修改及其大小是否增长是未加说明的。实际上对于普通文件来说,把他的大小扩展到length字节的可移植方法是:先lseek到偏移字节lenght-1处,然后write 1个字节的数据,如果大小被扩展,那么扩展的部分显得好像已用0填写过
  2. 对于一个共享内存区对象:ftruncate把该对象的大小设置为length字节,如果共享内存区被扩展,那么扩展部分全为0

ftruncate的更多相关文章

  1. ftruncate(改变文件大小)

    ftruncate(改变文件大小) 定义函数 int ftruncate(int fd,off_t length); 函数说明 ftruncate()会将参数fd指定的文件大小改为参数length指定 ...

  2. 截断文件函数truncate和ftruncate

    两个函数目的都是将文件大小设置为length参数指定的值 int truncate(const char *pathname,off_t length)//pathname就是路径 int ftrun ...

  3. 【转】fileno函数与ftruncate函数

      fileno函数与ftruncate函数 2011-10-25 10:03:33 分类: LINUX fileno()函数 功    能:把文件流指针转换成文件描述符相关函数:open, fope ...

  4. Linux C ftruncate 函数清空文件注意事项(要使用 lseek 重置偏移量)

    转载:http://blog.csdn.net/a_ran/article/details/43562429 int truncate(const char *path, off_t length); ...

  5. 文件权限控制篇access alphasort chdir chmod chown chroot closedir fchdir fchmod fchown fstat ftruncate getcwd

    access(判断是否具有存取文件的权限) 相关函数 stat,open,chmod,chown,setuid,setgid 表头文件 #include<unistd.h> 定义函数 in ...

  6. f-stack中nginx配置后make出现error: ignoring return value of ‘ftruncate’

    问题 Nginx 配置后 make 出现error: src/os/unix/ngx_process_cycle.c: In function 'ngx_start_worker_processes' ...

  7. Python os.ftruncate() 方法

    概述 os.ftruncate() 裁剪文件描述符fd对应的文件, 它最大不能超过文件大小.高佣联盟 www.cgewang.com Unix, Windows上可用. 语法 ftruncate()方 ...

  8. PHP ftruncate() 函数

    定义和用法 ftruncate() 函数把打开文件截断到指定的长度. 如果成功则返回 TRUE,如果失败则返回 FALSE. 语法 ftruncate(file,size) 参数 描述 file 必需 ...

  9. [APUE]文件和目录(上)

    一.文件权限 1. 各种ID 我在读这一章时遇到了各种ID,根据名字完全不清楚什么意思,幸好看到了这篇文章,http://blog.csdn.net/ccjjnn19890720/article/de ...

随机推荐

  1. require和load的不同之处

    require和load最大的不同之处在于,require就算调用多次也不会重新加载已经加载过的文件.Ruby会持续追踪已经被请求的那些文件而不会重复加载它们.而load命令总是会加载所请求的命令,不 ...

  2. jmeter测试计划元素执行顺序

    jmeter测试计划元素执行顺序 测试计划的元素是有序的,通过以下方式执行: 1–配置节点 2–前置处理器 3–定时器 4–取样器 5–后置处理器(只在有结果可用情况下执行) 6–断言(只在有结果可用 ...

  3. Javascript设计模式记录

    prototype与面向对象取舍 使用prototype原型继承和使用面向对象,都可以实现闭包的效果.那么这两个的选择点,就是方法会不会产生多个实例. 例如,我们需要做一个闭包数组,并给他提供一个添加 ...

  4. 通过配置文件添加MIME类型

    在web.config配置文件中的configuration节点下添加如下节点: <system.webServer> <staticContent> <mimeMap ...

  5. redis cluster最简配置

    redis cluster最简配置 master配置如下:(默认6379端口) bind 127.0.0.1 port 6379 timeout 0 databases 16 Master的redis ...

  6. 学习HTML+JSP(更新中)

    1.HTML文档=网页 2.html是超文本标记语言的的缩写 超文本:超越普通文本,可以在文档中添加普通文本不能添加的元素,如:图片.视频.超链接等 标记语言:本身没有逻辑能力和执行能力,只被读取 脚 ...

  7. java开发150个建议

    阅读目录 建议1:不要在常量和变量中出现易混淆的字母 建议2:莫让常量蜕变成变量 建议3:三元操作符的类型务必一致 建议4:避免带有变长参数的方法重载 建议5:别让null值和空值威胁到变长方法 建议 ...

  8. parallel::ForkManager

    use Parallel::ForkManager; my $MAX_PROCESSES=10;   #申明最大进程数(一次创建的进程越多,越耗内存): my $pm = new Parallel:: ...

  9. CSS学习笔记_day3

    一.浮动的清除 1.给祖先元素加高度 <style> * { padding: 0; margin: 0; } .box1 { height: 100px; /**/ } ul { /*去 ...

  10. vue.js 精学记录

    v-bind:class使用的方式: 1.对象与法::class="{'active':isActive}" 此时当isActive为true时,会拥有active 2.数组语法: ...