| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1597 人关注过本帖
标题:fopen打不开文件
只看楼主 加入收藏
domore
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2019-7-25
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:1 
fopen打不开文件
照抄书上的代码的,这个程序是创建两个txt文件并向其中写入字母,之后输出到一个txt文件中并排好序在输出
不改:编译显示can not open file,按任意键退出
改格式:书上的代码是fopen("a1","r")。尝试了带w等的格式,结果输出file ABC(手懒,少打,下同)就提示按任意键退出
改路径:创建空的工程又接着创建空的文件后新建两个txt文件,之后不用文件名而用路径名,结果输出file ABC,按任意键退出
上面三种情况都没报错
现在是我不能输入数据
有大佬能现身解释下为什么出现第二三种情况吗,第一种我知道,r只能打开已存在的文件
第一张图对应第一种情况,第二三图对应第三种情况,第二种情况只需在不改的情况下的代码中把r换成带w的就行,没发图(懒了)
谢谢大佬了
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

#include<stdio.h>
#include<stdlib.h>
int main()
    {
    FILE *fp=NULL;
    int i,j,n,i1;
    char c[100],t,ch;
    if((fp=fopen("D:\\vc6.0\\myproject\\c2\\a1.txt","r"))==NULL)
        {
        printf("can not open file\n");
        exit(0);
        }
    printf("file A:\n");
    for(i=0;(ch=fgetc(fp))!=EOF;i++)
        {
        c[i]=ch;
        putchar(c[i]);
        }
    fclose(fp);

    i1=i;
    if((fp=fopen("D:\\vc6.0\\myproject\\c2\\b1.txt","r"))==NULL)
        {
        printf("\ncan not open file\n");
        exit(0);
        }
    printf("\nfile B:\n");
    for(i=i1;(ch=fgetc(fp))!=EOF;i++)
        {
        c[i]=ch;
        putchar(c[i]);
        }
    fclose(fp);

    n=i;
    for(i=0;i<n;i++)
        for(j=i+1;j<n;j++)
            if(c[i]>c[j])
                {
                t=c[i];
                c[i]=c[j];
                c[j]=t;
                }
    printf("\nfile C:\n");
    fp=fopen("c1.txt","w");
    for(i=0;i<n;i++)
        {
        putc(c[i],fp);
        putchar(c[i]);
        }
    printf("\n");
    fclose(fp);
    fp=NULL;
    return 0;
    }







[此贴子已经被作者于2019-8-3 22:10编辑过]

搜索更多相关主题的帖子: fopen 文件 txt FILE printf 
2019-08-03 22:02
Mr_doge
Rank: 5Rank: 5
等 级:贵宾
威 望:10
帖 子:159
专家分:385
注 册:2018-6-28
收藏
得分:14 
没看懂你想问什么,程序正常运行完毕自然就退出了,你要输入什么数据?这程序本身只干三件事,1:从a1 b1读取字符 2:给字符排序 3:输出字符到c1,活干完了自然就退出了,你需要怎么输入数据,要排序的字符?那你直接打字保存到a1 b1就是了,如果你说的是在程序运行时输入要排序的字符而不是让它从文件中读取,那你需要改变的不是路径也不是打开文件的方式,而是程序本身的工作逻辑

你写了个请帖,请人吃饭的那种,然后人来了,吃完了,走了,你说,这不对啊,我换了金边请帖,银边请帖,怎么他吃完了就走了呢,我是让他来给食客们弹小曲的啊
你是这个意思?
2019-08-05 08:58
快速回复:fopen打不开文件
数据加载中...
 
   



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

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