| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3714 人关注过本帖
标题:试程序出现很多“屯屯屯屯屯”
取消只看楼主 加入收藏
SaberLion
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:85
专家分:348
注 册:2014-1-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
试程序出现很多“屯屯屯屯屯”
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 30
void copy(FILE * fp1,FILE * fp2);
int main(void)
{
    char rce_file[MAX],tar_file[MAX];                  //  储存源文件和目标文件的文件名
    FILE * fp1,* fp2;                                                 //  两个文件指针
    char ch;

    printf("input name of source file: ");
    gets(rce_file);
    strcat(rce_file,".txt");                                      //  打开的是文本文档
    printf("input name of target file: ");
    gets(tar_file);
    strcat(tar_file,".txt");
    if((fp1 = fopen(rce_file,"rb")) == NULL)       //  只读二进制模式
    {
        printf("can't open %s file",rce_file);
        exit(1);
    }
    if((fp2 = fopen(tar_file,"a+b")) == NULL)     //  读写二进制模式
    {
        printf("can't open %s file",tar_file);
        exit(2);
    }
    copy(fp1,fp2);                                                //  调试复制函数
    while((ch = getc(fp2)) != EOF)                     //  查看目标文件被复制的内容 (如果这段代码不写就不会出现“屯屯屯屯屯”)
        putc(ch,stdout);
    fclose(fp1);                                                   //  关闭文件
    fclose(fp2);
    system("pause");
    return 0;
}

void copy(FILE * fp1,FILE * fp2)
{
    char copy_s;

    while(EOF != (copy_s = fgetc(fp1)))
        fputc(copy_s,fp2);
}
搜索更多相关主题的帖子: 源文件 
2014-02-13 21:09
SaberLion
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:85
专家分:348
注 册:2014-1-4
收藏
得分:0 
晕 刚发完我就知道哪错了
只要在  
while((ch = getc(fp2)) != EOF) putc(ch,stdout);

后面加上rewind(fp2);  就好了
因为调用copy函数之后 fp2指向的是文件末尾
2014-02-13 21:13
SaberLion
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:85
专家分:348
注 册:2014-1-4
收藏
得分:0 
进来的给分吧~
2014-02-13 21:15
SaberLion
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:85
专家分:348
注 册:2014-1-4
收藏
得分:0 
回复 4楼 fl8962
都没人进来  都给你辣!
2014-02-14 09:38
SaberLion
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:85
专家分:348
注 册:2014-1-4
收藏
得分:0 
回复 6楼 fl8962
  不用了
2014-02-14 09:45
快速回复:试程序出现很多“屯屯屯屯屯”
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012724 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved