鱼C论坛

 找回密码
 立即注册
查看: 1457|回复: 15

[已解决]心痛到无法呼吸,求解为什么

[复制链接]
发表于 2018-8-19 16:39:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 【电脑】 于 2018-8-19 19:12 编辑

照着小甲鱼的视频打的,目的是将文件内容从屏幕上输出,文档内容(apple),编译没有错误,但我输入fish.txt之后显示的是open error
最佳答案
2018-8-19 17:20:10

1.首先,你的系统是Linux吗?假如不是,请把filename的长度设置为260(MAX_PATH)。
2.然后,你输入的路径对吗?试试绝对路径?会不会是filename长度不够?
3.最后,请使用C99标准的int main()+return 0;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-8-19 16:46:29 | 显示全部楼层
#include<stdlib.h>
#include<stdio.h>
void main()
{
    FILE *p;
    char filename[20],ch;
    printf("请输入文件名");
    scanf("%s",filename);
    if(!(p=fopen(filename,"r")))
    {
        printf("open error\n");
        exit(0);
    }
    while(ch!=EOF)
    {
        ch=fgetc(p);
        putchar(ch);
    }
    fclose(p);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-19 16:53:05 | 显示全部楼层
【电脑】 发表于 2018-8-19 16:46
#include
#include
void main()

scanf("%s",&filename);    //这个?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-19 16:57:47 | 显示全部楼层
claws0n 发表于 2018-8-19 16:53
scanf("%s",&filename);    //这个?

依然open error
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-19 17:20:10 | 显示全部楼层    本楼为最佳答案   

1.首先,你的系统是Linux吗?假如不是,请把filename的长度设置为260(MAX_PATH)。
2.然后,你输入的路径对吗?试试绝对路径?会不会是filename长度不够?
3.最后,请使用C99标准的int main()+return 0;

点评

另外你的文档的名字是不是fish.txt.txt?检查下  发表于 2018-8-19 17:32
记住要输入fish.txt  发表于 2018-8-19 17:32
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-8-19 17:22:57 | 显示全部楼层
本帖最后由 claws0n 于 2018-8-19 17:24 编辑

  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. void main()
  4. {
  5.     FILE *p;
  6.     char filename[20],ch;
  7.    
  8.     printf("请输入文件名:");
  9.     scanf("%s", &filename);
  10.     if( !(p = fopen(filename,"r")) )
  11.     {
  12.         printf("open error\n");
  13.         exit(0);
  14.     }
  15.     printf("open success!\n");
  16.    
  17.     while(ch!=EOF)
  18.     {
  19.         ch = fgetc(p);
  20.         putchar(ch);
  21.     }
  22.     printf("read success!\n");
  23.     fclose(p);
  24.     printf("close success!\n");
  25. }
复制代码

测试过了,没有问题。您是不是输入 fish 而已,而不是 fish.txt??
另外,请加入适当的空格~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-19 17:30:11 | 显示全部楼层
你试试输入fish.txt.txt试试。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-19 19:01:59 | 显示全部楼层
claws0n 发表于 2018-8-19 17:22
测试过了,没有问题。您是不是输入 fish 而已,而不是 fish.txt??
另外,请加入适当的空格~~

fish 和 fish.txt 都试过了,然后还试了一下您的这串代码,都是open error,会不会是我建文件的问题,我在 c 盘新建一个文本文档,名字为 fish,在里面输入了内容apple
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-19 19:08:30 | 显示全部楼层
无符号整形 发表于 2018-8-19 17:20
1.首先,你的系统是Linux吗?假如不是,请把filename的长度设置为260(MAX_PATH)。
2.然后,你输入的路 ...

好了,是那个输入的问题,要输入C:\\fish.txt 才能打开,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-19 19:10:23 | 显示全部楼层
新手·ing 发表于 2018-8-19 17:30
你试试输入fish.txt.txt试试。

感谢啦,是输入的问题,要输入C:\\fiah.txt才能打开
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-19 19:11:03 | 显示全部楼层
【电脑】 发表于 2018-8-19 19:01
fish 和 fish.txt 都试过了,然后还试了一下您的这串代码,都是open error,会不会是我建文件的问题,我 ...

谢谢,找到问题啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-19 19:17:03 | 显示全部楼层
【电脑】 发表于 2018-8-19 19:01
fish 和 fish.txt 都试过了,然后还试了一下您的这串代码,都是open error,会不会是我建文件的问题,我 ...

在同一个目录里
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-19 19:36:25 | 显示全部楼层
claws0n 发表于 2018-8-19 19:17
在同一个目录里

为什么我要输入C:\\fish.txt 才能打开
同一个目录是什么,有什么影响吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-19 19:43:10 | 显示全部楼层
【电脑】 发表于 2018-8-19 19:36
为什么我要输入C:\\fish.txt 才能打开
同一个目录是什么,有什么影响吗

目录就是文件夹的位置
C:/Program Files/... 这就是目录
一般上程序的读取范围只是在当下的文件夹内,所以代码及其他待测试文件都放在同一个文件夹~
如果不是,就要输入可以指引到该文件的路径

好啦,问题解决啦~
记得采纳最佳答案哦~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 17:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表