C程序 复制文件内容到另一个文件

来源:互联网 发布:mac新建参考线快捷键 编辑:程序博客网 时间:2024/04/29 13:36
#include <stdio.h>
#include <stdlib.h>   //为了调用exit()
#include <string.h>   //为strcpy()和strcat()函数提供原型
#define LEN 40


int main(int argc, char *argv[])
{
FILE *in, *out;   //声明两个FILE指针
int ch;
char name[LEN];   //用于存储输入文件名
int count = 0;


//检查命令行参数
if(argc < 2)
{
fprintf(stderr, "Usage: %s filename.\n", argv[0]);
exit(1);
}


//实现输入
if((in = fopen(argv[1], "r")) == NULL)
{
fprintf(stderr, "Can't open %s filename.\n", argv[1]);
exit(2);
}


//实现输出
strcpy(name, argv[1]);  //把文件名复制到数组
strcat(name, ".red");   //给名字添加后缀,即生成另一个文件


if((out = fopen(name,"w")) == NULL)     //打开文件以供书写
{
fprintf(stderr, "Can't create output file.\n");
exit(3);
}


//复制数据
while((ch = getc(in)) != EOF)
{
//if(count++ % 3 == 0) //在文件里打印每3个字符中的一个
putc(ch, out);  //把一个文件中的数据复制到另一个文件
}


//关闭流
if(fclose(in) != 0 || fclose(out) != 0)
fprintf(stderr, "Error in closing files.\n");


return 0;
}
0 0