p4-12.c

来自「UNIX程序设计教程」· C语言 代码 · 共 32 行

C
32
字号
#include <stdio.h>#include <fcntl.h>#include <sys/stat.h>#include <stdlib.h>#include "err_exit.h"char buffer[] = "This is an example progamm for unlink.";char outbuf[100];int main(void){    int   fdtmp, fdout;    int length = sizeof(buffer)+1;    /* 创建二个文件,一个作为中间文件,一个作为结果文件 */    fdtmp = open("tmpfile", O_RDWR|O_CREAT|O_TRUNC, S_IRWXU);    fdout = open("outfile", O_RDWR|O_CREAT|O_TRUNC, S_IRWXU);    if ( fdtmp < 0 || fdout < 0)        err_exit("ERROR: creat file failed");    /* 立即删除中间文件 */   if ( unlink ("tmpfile") < 0 )       err_exit("unlink call failed");    /* 往中间文件写数据,尽管这个文件已经删除,我们现在仍然可以读写它 */    write(fdtmp, buffer, length);    /* 反绕中间文件 */    if(lseek(fdtmp, (long)0, SEEK_SET) < 0)        printf("lseek call failed");    /* 复制中间文件至结果文件 */    read(fdtmp, outbuf, length);    write(fdout, outbuf, length);    /* 写新数据至结果文件 */    write(fdout, "\ntest ok.", 9);    close (fdout);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?