用fopen函数打开文件时,文件应该放在哪

GerBawn 2013-07-18 10:44:47
#include <stdio.h>
#include<stdlib.h>

int main (void)
{
char ch;
FILE *fp;
char fname[20];

printf("enter the file name:");
scanf("%s",fname);
fp = fopen(fname,"r");
if(fp == NULL)
{
printf("Fail to open file\n");
exit(1);
}
while((ch = getc(fp)) != EOF)
putchar(ch);
fclose(fp);

return 0;
}

就像这个程序,我想打开一个文件,但是总是显示打开失败
...全文
5340 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lidedongsn 2013-07-19
  • 打赏
  • 举报
回复
这样写会不会出现问题? 你应该指定一个路径,用粘连的方法
max_min_ 2013-07-19
  • 打赏
  • 举报
回复
 //fp = fopen(fname,"r");
 fp = fopen(”文件路径“,"r+");
vnvlyp 2013-07-19
  • 打赏
  • 举报
回复
linux和windows下均测试通过啊,LZ是文件路径输错了吧。。 如果用相对路径,那一般是可执行文件那个目录下, 如果用绝对路径那就比较好。
vnvlyp 2013-07-19
  • 打赏
  • 举报
回复
引用 1 楼 lgbxyz 的回复:
﹉windows的路径是双斜杠 c:\\a.txt
作为输入只要输入一个反斜杠吧?
zjwangmin 2013-07-19
  • 打赏
  • 举报
回复
fp = fopen(”文件路径“,"r+"); windows:文件路径形式为 X:\\xx.txt linux:文件路径形式为 dir/xx.txt 或者../../xx.txt 之类
水平不流 2013-07-19
  • 打赏
  • 举报
回复
windows下.放在该工程目录下的debug目录即可. linux下.只要放在源代码目录下就可以了.
自信男孩 2013-07-19
  • 打赏
  • 举报
回复
打开失败的原因是文件不存在吧。建议你若打开失败,打印一下出错原因:
fprintf(stderr, "open file error: %s", strerror(errno));
别忘了添加头文件:#include <string.h>和#include <errno.h>
孑虫 2013-07-18
  • 打赏
  • 举报
回复 1
全路径或者绝对路径
www_adintr_com 2013-07-18
  • 打赏
  • 举报
回复
程序当前目录下. 如果是在 VC 里面运行的, 这个目录是工程的目录. 如果是双击 exe 运行的, 这个目录就是 exe 所在的目录.
LubinLew 2013-07-18
  • 打赏
  • 举报
回复
﹉windows的路径是双斜杠 c:\\a.txt
LubinLew 2013-07-18
  • 打赏
  • 举报
回复
﹉windows的路径是双斜杠 c:\\a.txt

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧