| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 534 人关注过本帖, 1 人收藏
标题:文件操作老是报错,不知道是什么原因
只看楼主 加入收藏
the_second
Rank: 2
等 级:论坛游民
帖 子:115
专家分:80
注 册:2015-9-13
结帖率:78.95%
收藏(1)
已结贴  问题点数:20 回复次数:9 
文件操作老是报错,不知道是什么原因
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    FILE *fp1,*fp2;
    int i;
    char ch;
    if((fp1=fopen("e://1.txt","r"))==NULL)
    {
        printf("File open error\n");
        exit(0);
    }
    if((fp1=fopen("e://2.txt","w"))==NULL)
    {
        printf("File open error\n");
        exit(0);
    }
    while(1)
    {
            ch=fgetc(fp1);
        if(feof(fp1))
            break;
        fputc(ch,fp2);
    }
    if(fclose(fp1))
    {
        printf("Cant not close the file\n");
        exit(0);
    }
    if(fclose(fp2))
    {
        printf("Cant not close the file\n");
        exit(0);
    }
    return 0;
}
2015-09-24 22:47
the_second
Rank: 2
等 级:论坛游民
帖 子:115
专家分:80
注 册:2015-9-13
收藏
得分:0 
segmentation fault
2015-09-24 22:48
the_second
Rank: 2
等 级:论坛游民
帖 子:115
专家分:80
注 册:2015-9-13
收藏
得分:0 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void copy()
{
    FILE *fp1,*fp2;
    int i;
    char ch;
    char *filenamer = "E:\\1.txt";
    char *filenamew = "E:\\2.txt";
    fp1 = fopen(filenamer, "r");
    fp2 = fopen(filenamew, "w");
    if (fp1 == NULL || fp2 == NULL){
        printf("加密失败\n");
        return;
    }
    while (1)
    {
         ch = fgetc(fp1);
        if (feof(fp1))
            break;
        fputc(ch, fp2);
    }
    if(fclose(fp1))
    {
        printf("Cant not close the file\n");
        exit(0);
    }
    if(fclose(fp2))
    {
        printf("Cant not close the file\n");
        exit(0);
    }
}
int main()
{
    copy();
    return 0;
}
2015-09-24 22:55
the_second
Rank: 2
等 级:论坛游民
帖 子:115
专家分:80
注 册:2015-9-13
收藏
得分:0 
为什么下面的那个可以运行;
2015-09-24 22:55
the_second
Rank: 2
等 级:论坛游民
帖 子:115
专家分:80
注 册:2015-9-13
收藏
得分:0 
求大神
2015-09-24 22:56
小王KING
Rank: 2
等 级:论坛游民
威 望:1
帖 子:29
专家分:69
注 册:2015-9-9
收藏
得分:0 
if((fp1=fopen("e://1.txt","r"))==NULL)
 if((fp1=fopen("e://2.txt","w"))==NULL)
char *filenamer = "E:\\1.txt";
char *filenamew = "E:\\2.txt";
你看出区别没有
2015-09-25 07:22
the_second
Rank: 2
等 级:论坛游民
帖 子:115
专家分:80
注 册:2015-9-13
收藏
得分:0 
不是这个问题
我之前用"E:\\1.txt"我已经试过了,不能运行
用下面那个方法不管是"E:\\1.txt"还是"e://1.txt"都可以
搞不懂啊
2015-09-25 08:41
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
照抄也不上心!

授人以渔,不授人以鱼。
2015-09-25 12:22
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:20 
#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 int main()
 {
     FILE *fp1,*fp2;
     int i;
     char ch;
     if((fp1=fopen("e://1.txt","r"))==NULL)
     {
         printf("File open error\n");
         exit(0);
     }
     if((fp1=fopen("e://2.txt","w"))==NULL)
     {
         printf("File open error\n");
         exit(0);
     }
     while(1)
     {
             ch=fgetc(fp1);
         if(feof(fp1))
             break;
         fputc(ch,fp2);
     }
     if(fclose(fp1))
     {
         printf("Cant not close the file\n");
         exit(0);
     }
     if(fclose(fp2))
     {
         printf("Cant not close the file\n");
         exit(0);
     }
     return 0;
 }

授人以渔,不授人以鱼。
2015-09-25 12:30
the_second
Rank: 2
等 级:论坛游民
帖 子:115
专家分:80
注 册:2015-9-13
收藏
得分:0 

前几次也有这样的问题,本来还以为是用的软件有问题呢,这种错误愣是没找出来,还调试了好久。
太感谢了。
2015-09-26 11:16
快速回复:文件操作老是报错,不知道是什么原因
数据加载中...
 
   



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

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