fan1102958151 发表于 2015-3-22 13:12:13

c的文件操作

看了甲鱼老师讲的文件合并器
我就自己动手写了写 可是怎么调试程序都在while循环处出错
于是我就将甲鱼老师的代码原版copy 可是还是在while处出错
貌似用WB可以创建新文件但是写入不了的样子
求大神指点迷经
还想请教这种合成方式是否能推广到其他格式下进行
Thank fishc

秀丽江山 发表于 2015-3-22 16:03:29

代码写下来啊。
还有就是有的编译器有问题。卧槽。
vc6.0不能编译的,lcc居然编译没问题。妈蛋。vc6.0还有许多其他的bug
这个代码:
#include <stdio.h>
typedef int (*fun)(FILE*);
int main()
{
        FILE * fp;
        fp=fopen("D:\\mylove.txt","r");
        void f(FILE *,fun);
        f(fp,fgetc);

        return 0;
}
void f(FILE* pf,fun ff)
{
        int c;
        while(c!=EOF)
                {
                        c=ff(pf);
                        printf("%c",c);
                }
}
在D盘写了个txt文档,写上一串英文。。读出

秀丽江山 发表于 2015-3-22 16:04:08

文件合成器我给你个代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
        FILE *pFr,*pF2,*pFw;
        char a,b,n,c;
        printf("请输入需要合成的文件1:\n");
        scanf("%s",a);
        if(!(pFr=fopen(a,"rb")))
        {
                printf("Can not open it");
                return -1;
        }
        printf("请输入需要合成的文件2:\n");
        scanf("%s",b);
        if(!(pF2=fopen(b,"rb")))
        {
                printf("Can not open it");
                return -1;
        }
        printf("请输入需要合成后的文件名:\n");
        scanf("%s",n);
        if(!(pFw=fopen(n,"wb")))
        {
                printf("Can not open it");
                return -1;
        }
        c=getchar();
        while(!feof(pFr))
        {
                c=fgetc(pFr);
                fputc(c,pFw);
        }
        while(!feof(pF2))
        {
                c=fgetc(pF2);
                fputc(c,pFw);
        }
        fclose(pFr);
        fclose(pF2);
        fclose(pFw);
        system("pause");
        return 0;
}

秀丽江山 发表于 2015-3-22 16:07:25

最开始看甲鱼的代码。。但是觉得看了没什么用。于是多写,写的多才学的好。
还是自己想的好。这些东西不难,自己可以写的出啊

fan1102958151 发表于 2015-3-22 17:00:24

秀丽江山 发表于 2015-3-22 16:04
文件合成器我给你个代码:
#include
#include


谢谢

fan1102958151 发表于 2015-3-22 17:01:53

秀丽江山 发表于 2015-3-22 16:07
最开始看甲鱼的代码。。但是觉得看了没什么用。于是多写,写的多才学的好。
还是自己想的好。这些东西不难 ...

谢谢建议
页: [1]
查看完整版本: c的文件操作