困扰了很久了,新手求指点!

lisenlin5 2012-10-26 04:12:20
include<stdio.h>
#include<stdlib.h>
int main(int argc,char*argv[])
{
int ch;
FILE* fp;
long count =0;
if(argc!=2)
{
printf("Usage: %s filename\n",argv[0]);
exit(1);
}
if((fp=fopen(argv[1],"r"))==NULL)
{
printf("can not open %s\n",argv[1]);
exit(1);
}
while((ch=getc(fp))!=EOF)
{
putc(ch,stdout);
count++;
}
fclose(fp);
printf("File %s have %ld characters\n",argv[1],count);
return 0;
}
为什么我无法打开文件呢?是不是我打开的文件必须要和程序的可执行文件在同一个目录下?还是其他的什么原因?
...全文
108 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lisenlin5 2012-10-26
  • 打赏
  • 举报
回复
谢谢,我知道怎么回事了!!
proorck6 2012-10-26
  • 打赏
  • 举报
回复
为了确保万无一失,使用全路径是个方法。
proorck6 2012-10-26
  • 打赏
  • 举报
回复
你用的好像是VS把,VS里有个路径映射,在IDE里调试时,把cpp文件所在的文件夹视为当前目录,要是直接从debug文件夹下运行程序,还要把txt文件考进去才行。
lisenlin5 2012-10-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
如果在同一个目录,那你只需要输入文件名就可以了
如果不在同一个目录,那你需要全部路径 类似c:\\1\1\1.txt
[/Quote]
嗯 要打开的文件和可执行文件在同一个文件中,但还是没法打开!!
lisenlin5 2012-10-26
  • 打赏
  • 举报
回复
十八道胡同 2012-10-26
  • 打赏
  • 举报
回复
如果在同一个目录,那你只需要输入文件名就可以了
如果不在同一个目录,那你需要全部路径 类似c:\\1\1\1.txt
lisenlin5 2012-10-26
  • 打赏
  • 举报
回复
lisenlin5 2012-10-26
  • 打赏
  • 举报
回复

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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