📄 p4-12.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -