标题:文件复制到另外一个文件的问题
只看楼主
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
结帖率:97.5%
已结贴  问题点数:8 回复次数:9 
文件复制到另外一个文件的问题
把test的文件复制到test1,老谭书上是这样的。然后程序崩了。是代码的问题还是编译器


#include<stdio.h>
#include<stdlib.h>
int main()
{
    FILE *in,*out;
    char ch, infile[10], outfile[10];
    printf("输入要读入的文件名字\n");
    scanf("%s",infile);
    in=fopen(infile,"r");
    if(in==NULL)
    {
        printf("无法打开该文件,请检查文件名\n");
        exit(0);
    }
    printf("输入要写入的文件名字\n");
    scanf("%s",outfile);
    out=fopen(outfile,"w");
    if(out==NULL)
    printf("输出文件不存在,自动创建\n");
    else
    printf("输入文件找到,正在执行操作\n");
    while(!feof(in))
    {
        ch=fgetc(in);
        fputc(ch,out);
        putchar(ch);
    }
    putchar(10);
    fclose(in);
    fclose(out);
    return 0;

}


[此贴子已经被作者于2017-3-18 10:47编辑过]

搜索更多相关主题的帖子: include 
2017-03-18 10:44
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:4 
刚用vc试了没问题,是不是你路径搞错了?
2017-03-18 11:54
哈哈哈1994
Rank: 1
等 级:新手上路
帖 子:4
专家分:9
注 册:2017-3-5
得分:0 
我不是大神,看不出来哎
2017-03-18 11:57
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
得分:0 
回复 2楼 ehszt
还是会报错。你用的是我的代码吗。这个是用vc调试的。最开始发帖的是codebloks调试的。win10系统下运行的。我win7系统调试也会报错。但是文件是可以复制过去的。



2017-03-18 12:44
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
得分:4 
char ch, infile[10], outfile[10];
你的路径名已经超出了9个字符。

未佩好剑,转身便已是江湖
2017-03-18 12:44
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
得分:0 
回复 5楼 alice_usnet
应该是这样的。谢谢您。我改了调试下
2017-03-18 12:49
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
得分:0 
回复 5楼 alice_usnet
谢谢大神,么么哒
2017-03-18 12:52
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
得分:0 
回复 2楼 ehszt
詹大哥,刚刚调试的,是路径长度大于字符串的长度问题。我想问你为啥路径你要用两个\\和单\有区别吗?
2017-03-18 12:53
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:0 
回复 8楼 Emotiona
刚试了,你这种写法也成功了。学一招,嘿嘿!
我用两个反斜杠是因为,前面一个为转义字符。
好像用一个反的也可以。
那为什么在system();里不行?
system里的打印指令只能这么写,换成一个‘\’或‘/’都不行。
system("type c:\\test\\in.txt");
最近搞个程序,是文件批量改名(往文件名前添加字串)。就是不知道怎样实现输入路径功能。

[此贴子已经被作者于2017-3-18 13:12编辑过]

2017-03-18 13:01
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
得分:0 
回复 9楼 ehszt
这就不知道了。我c里面要用\的时候,要多用个\因为是转义字符,其它情况就不用的。
2017-03-18 16:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-475210-1-1.html




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

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