C语言文件问题,编译通过,帮忙看看哪出了问题啊

[复制链接]
查看11 | 回复2 | 2011-8-23 13:01:30 | 显示全部楼层 |阅读模式
#include
static void copyfile(FILE *infile,FILE *outfile)
{
        int ch;
        while((ch=getc(infile))!=EOF)
        {
                putc(ch,outfile);
        }
}
static FILE *openuserfile(char *prompt,char *mode)
{
        char *filename;
        FILE *result;
        while(1)
        {
                printf("%s",prompt);
                scanf("%s",filename);
                result=fopen(filename,mode);
                if(result!=NULL)break;
                printf("Can't open the file \"%s\"\n",filename);
        }
        return result;
}
void main()
{
        FILE *infile,*outfile;
        printf("This program copies one file to another.\n");
        infile=openuserfile("Old file:","r");
        outfile=openuserfile("New file:","w");
        copyfile(infile,outfile);
        fclose(infile);
        fclose(outfile);
}

回复

使用道具 举报

千问 | 2011-8-23 13:01:30 | 显示全部楼层
一共有3出错误:static void copyfile(FILE *infile,FILE *outfile){
int ch;
while((ch=fgetc(infile))!=EOF) //是读文件,不是流,所以要用fgetc
{
fputc(ch,outfile);
//对应的,要用fputc,而不是putc
}}static FILE *openuserfile(char *prompt,char *mode){
char *filename;// 你定义一个指针,不给他分配内存,怎么给他所指的区域写数据?
filename = (char*)mallo...
回复

使用道具 举报

千问 | 2011-8-23 13:01:30 | 显示全部楼层
娃呀你水平很高了!只要改动一下就好了。#includestatic void copyfile(FILE *infile,FILE *outfile){int ch;while((ch=getc(infile))!=EOF){putc(ch,outfile);}}s...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行