首页 > 代码库 > 文件操作-一个可以直接复制文件数据的小程序
文件操作-一个可以直接复制文件数据的小程序
部分名词解释:
文件描述符:
文件描述符(file descriptor) 通常是一个小的非负整数,内核用以标识一个特定进程正在访问的文件,当内核打开一个现有文件或创建一个新文件时,它都返回一个文件描述符。
在读、写文件时,可以使用这个文件描述符;
root@aiyq195:/home/aiyq195/lx/unixc/1# cat file.c
#include "apue.h"
#define BUFFSIZE 4096
int main(void)
{
int n;
char buf[BUFFSIZE];
while( (n = read(STDIN_FILENO,buf,BUFFSIZE) ) >0 )
{
if( write(STDOUT_FILENO,buf,n) != n )
perror("write error"),exit(-1);
}
if( n<0 )
{
perror("read error"),exit(-1);
}
exit(0);
}
root@aiyq195:/home/aiyq195/lx/unixc/1# ls
error.c fi file.c myls myls.c
编译一下程序:
root@aiyq195:/home/aiyq195/lx/unixc/1# gcc file.c -o fi
root@aiyq195:/home/aiyq195/lx/unixc/1# ./fi > fi.txt
nihao
aiyq195
i m aiyq195
然后使用 ls 命令查看下,会发现当前路径下多了一个文件 fi.txt
root@aiyq195:/home/aiyq195/lx/unixc/1# ls
error.c fi file.c fi.txt myls myls.c
查看文件内的数据
root@aiyq195:/home/aiyq195/lx/unixc/1# cat fi.txt
nihao
aiyq195
i m aiyq195
试着将文件内的数据拷贝到其他的文件中
root@aiyq195:/home/aiyq195/lx/unixc/1# ./fi < fi.txt > fi1.txt
root@aiyq195:/home/aiyq195/lx/unixc/1# ls
error.c fi fi1.txt file.c fi.txt myls myls.c
root@aiyq195:/home/aiyq195/lx/unixc/1# cat fi1.txt
nihao
aiyq195
i m aiyq195
文件操作-一个可以直接复制文件数据的小程序