直接贴代码:
#include
#include
#include
#include
#include
extern int errno;
//Author:HuangJiaJia
int main(int argc, const char *argv[])
{
if(argc < 3)
{
fprintf(stdout, "USE %s [srcfilename] [desfilename]!\n", argv[0]);
return 0;
}
close(STDIN_FILENO); //关闭输入流
close(STDOUT_FILENO); //关闭输出流
int fpr = open(argv[1], O_RDONLY);
int fpw = open(argv[2], O_CREAT | O_WRONLY);
if(-1 == fpr || -1 == fpw)
{
fprintf(stdout, "Open Error: Err[%d] ErrStr[%s]!\n", errno, strerror(errno));
return 0;
}
dup2(fpr, STDIN_FILENO); //重定向输入流
dup2(fpw, STDOUT_FILENO); //重定向输出流
int nValue;
while((nValue = getchar()) != EOF) //从文件中读取数据
{
putchar(nValue); //向文件中写入数据
}
return 0;
}