c 语言 文件复制

来源:百度知道 编辑:UC知道 时间:2024/05/27 08:08:39
#include "stdio.h"

int main(){
char ch;
freopen("copy.txt","r",stdin);
freopen("copy2.txt","w",stdout);
while((ch=getchar())!=EOF){

printf("%c",ch);
}
fclose(stdin);
fclose(stdout);

}
以上是我的程序,当文件为copy.txt时,复制成功,但是复制yinyue.mp3后生成的yinyue2.mp3却是空的(相当于没有复制),这是为什么,如何解决?
试过了改参数为wb和rb,还是没有用.
算了,我只求一个能复制mp3文件的程序代码了....

//stdin stdout标准输入输出设备 不处理二进制文件
#include<stdio.h>
#include<stdlib.h>
void main()
{
FILE *in,*out;
char ch,infile[10],outfile[10];
printf("input infile\n");
scanf("%s",infile);
printf("input outfile\n");
scanf("%s",outfile);
if((in=fopen(infile,"rb"))==NULL)
{printf("cannot open file!\n");exit(0);}
if((out=fopen(outfile,"rw"))==NULL)
{printf("cannot open file!\n");exit(0);}
while(!feof(in))fputc(fgetc(in),out);
fclose(in);fclose(out);
}

改参数为RB和WB二进制

第一你的程序本来有误:………………………………………………
应该是这样的:
#include"stdio.h"
#include"stdlib.h"
main()
{
FILE *stdin,*stdout;
char ch,infile[n],outfile[n];
scanf("%s",infile);
scanf("%s",outfile);
if((stdin=fopen(inflie,"r"))==NULL)
{printf(