zoukankan      html  css  js  c++  java
  • C++裁剪文件,截断文件,_chsize()

      

    errno_t _chsize_s( 
       int fd,
       __int64 size 
    );

    详见msdn知识库

    _chsize将文件裁剪为指定大小,大小的度量方法与

    long ftell(FILE * fp)

    度量方法相同

    第一个参数是文件信息句柄

    open() close() 对应的是低级io,内存中没有缓存,直接对硬盘字符进行操作

    fopen() fclose()对应的是高级io,内存中有缓存,在文件关闭(自动关闭前)不会写入硬盘

    对于文件信息句柄,高级io通过

    FILE * fopen(const char *file_name,const char *mode)

    封装为指针(类指针)FILE,而低级io将文件句柄定义为int 型参数(磁盘扇区位号对应的唯一内存号)

    _chsize()属于低级io ,需要使用

    int _fileno( 
       FILE *stream 
    );

    将FILE指针转换为低级io标识符,然后传给_chsize()函数进行操作

    注意:

    _chsize()在feof(fp)==1的情况下不能使用(也就是文件大小和pos值相同时)

    所以,文件指针走到feof()==1的时候可以直接写入,不需要裁剪。

  • 相关阅读:
    PHP和Ajax设置页面请求超时
    Flex 布局教程
    数据库访问优化法则
    phpcms网站搬家至服务器
    phpcms网页替换验证码及搜索功能
    php判断手机段登录
    php环境搭建
    ThinkPHP框架
    JQuery事件
    JQuery
  • 原文地址:https://www.cnblogs.com/liutianchen/p/5444785.html
Copyright © 2011-2022 走看看