Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 软件时空 > 软件相关 > delete part of file
【标  题】:delete part of file
【关键字】:delete,part,of,file
【来  源】:http://blog.chinaunix.net/article.php?articleId=10258&blogId=3634

delete part of file

Your Ad Here in C
and with shell tool


delete the part at the end of a file, use "truncate" or "ftruncate"

(not sure if it is support by C99)
        NAME
               truncate, ftruncate - truncate a file to a specified length
                                                                                                                         
        SYNOPSIS
               #include <unistd.h>
               #include <sys/types.h>
                                                                                                                         
               int truncate(const char *path, off_t length);
               int ftruncate(int fd, off_t length);
                                                                                                                         
        DESCRIPTION
               The  truncate  and  ftruncate functions cause the regular file named by
               path or referenced by fd to be truncated to a size of precisely  length
               bytes.
                                                                                                                         
               If  the  file  previously  was larger than this size, the extra data is
               lost.  If the file previously was shorter,  it  is  extended,  and  the
               extended part reads as zero bytes.
                                                                                                                         
               The file pointer is not changed.
                                                                                                                         
               If  the  size changed, then the ctime and mtime fields for the file are
               updated, and suid and sgid mode bits may be cleared.
                                                                                                                         
               With ftruncate, the file must be open for writing; with  truncate,  the
               file must be writable.
                                                                                                                         
        RETURN VALUE
               On  success,  zero is returned.  On error, -1 is returned, and errno is
               set appropriately.
                                                                                                                         
        ERRORS
               For truncate:
                                                                                                                         
               EACCES Search permission is denied for a component of the path  prefix,
                      or the named file is not writable by the user.
                                                                                                                         
               EFAULT Path points outside the process’s allocated address space.
                                                                                                                         
               EFBIG  The argument length is larger than the maximum file size. (XSI)
                                                                                                                         
               EINTR  A signal was caught during execution.

               EINVAL The  argument length is negative or larger than the maximum file
                      size.
 
               EIO    An I/O error occurred updating the inode.
 
               EISDIR The named file is a directory.
 
               ELOOP  Too many symbolic links  were  encountered  in  translating  the
                      pathname.
 
               ENAMETOOLONG
                      A  component of a pathname exceeded 255 characters, or an entire
                      path name exceeded 1023 characters.
 
               ENOENT The named file does not exist.
 
               ENOTDIR
                      A component of the path prefix is not a directory.
 
               EROFS  The named file resides on a read-only file system.
 
               ETXTBSY
                      The file is a pure procedure (shared text) file  that  is  being
                      executed.
 
               For  ftruncate the same errors apply, but instead of things that can be
               wrong with path, we now have things that can be wrong with fd:
 
               EBADF  The fd is not a valid descriptor.
 
               EBADF or EINVAL
                      The fd is not open for writing.
 
               EINVAL The fd does not reference a regular file.
 
        CONFORMING TO
               4.4BSD, SVr4 (these function calls first appeared in BSD  4.2).   POSIX
               1003.1-1996  has ftruncate.  POSIX 1003.1-2001 also has truncate, as an
               XSI extension.
 
               SVr4 documents additional truncate error conditions  EMFILE,  EMULTIHP,
               ENFILE,  ENOLINK.   SVr4  documents  for ftruncate an additional EAGAIN
               error condition.
 
        NOTES
               The above description is for XSI-compliant systems.   For  non-XSI-com-
               pliant  systems, the POSIX standard allows two behaviours for ftruncate
               when length exceeds the file length (note that truncate is  not  speci-
               fied  at  all  in  such  an environment): either returning an error, or
               extending the file.  (Most Unices follow the XSI requirement.)
 
        SEE ALSO
               open(2)
 
                                  1998-12-21                       TRUNCATE(2)

delete the beginning part,  use temporary file



if delete operation works on line mode, shell command csplit may helpful.


visiting file in multiple processes:【上一篇】
Delphi对ini文件的操作:【下一篇】
【相关文章】
  • visiting file in multiple processes
  • Make executable jar file 可执行的jar文件的制作
  • makefile经典文档试译
  • SED,AWK学习笔记Part 1-----利用正则表达式进行文本匹配
  • SED,AWK学习笔记Part 2-----sed编辑器
  • The difference of Heap and Stack
  • The Tao of the Software Architect
  • 可以免费阅读的Jolt奖获奖图书-The Art of UNIX Programming
  • ultraedit 中显示 open file tabs
  • The Art of Unix programming书名之联想
  • 【随机文章】
  • Difference requestDispatcher.forward and response.sendRedirect.
  • #include file 和 #include virtual的区别(菜鸟篇)
  • Word文档保护功能的日新月异
  • HTTP协议状态码的含义
  • windows取日期函数
  • Physics engine
  • Using Raw Disk I/O
  • C++多线程编程--hellow_thread
  • 在Powerpoint中运用flash文件的方法
  • Eclipse 环境中junit 结合ant bulit失败原因解释!
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.