| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 792 人关注过本帖
标题:与文件有关
只看楼主 加入收藏
xyz_susan
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-10-4
收藏
 问题点数:0 回复次数:17 
与文件有关
这是一个文件的题,我看不出有毛病,但执行后就是:cannot open this file!我不明白问题在哪怎么就执行不下去?请诸位高手出手.

#include"stdio.h"
main()
{
FILE *fp;
char ch,fname[20];
printf("please input file name:\n");
scanf("%s,fname");
if((fp=fopen(fname,"w"))==NULL)
{
printf("cannot open this file!\n");
exit(0);
}
printf("pleas input some text:\n");
ch=getchar();
while(ch!='s');
{
fputc(ch,fp);
ch=getchar();
}
fclose(fp);
printf("\nthe content of the file $s is:\n",fname);
if((fp=fopen(fname,"r"))==NULL)
{
printf("cannot open this file!\n");
exit(0);
}
while(!feof(fp))
{
ch=fgetc(fp);
putchar(ch);
}
fclose(fp);
}
搜索更多相关主题的帖子: 文件 
2006-11-16 22:08
ChenMo
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:481
专家分:10
注 册:2004-4-8
收藏
得分:0 

程序中有两处可能显示“cannot open this file!”的地方,
具体显示的是那处?

(不在本机上无法测试,所以不肯定,只是臆测)可能是输入时文件名及路径不正确,文件名需要使用 8.3 DOS格式,此外需要键入完整的文件路径。
有可能打开的文件是长文件名。


欢迎加入 MVC 技术讨论群(新群:90093426)
2006-11-17 09:37
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
收藏
得分:0 
scanf("%s,fname");
这句对嘛?再看看!

人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-11-17 10:39
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
以下是引用xyz_susan在2006-11-16 22:08:06的发言:
这是一个文件的题,我看不出有毛病,但执行后就是:cannot open this file!我不明白问题在哪怎么就执行不下去?请诸位高手出手.

#include"stdio.h"
main()
{
FILE *fp;
char ch,fname[20];
printf("please input file name:\n");
scanf("%s",fname); //引号的位置笔误了吧
if((fp=fopen(fname,"w"))==NULL)
{
printf("cannot open this file!\n");
exit(0);
}
printf("pleas input some text:\n");
ch=getchar();
while(ch!='s');
{
fputc(ch,fp);
ch=getchar();
}
fclose(fp);
printf("\nthe content of the file $s is:\n",fname);
if((fp=fopen(fname,"r"))==NULL)
{
printf("cannot open this file!\n");
exit(0);
}
while(!feof(fp))
{
ch=fgetc(fp);
putchar(ch);
}
fclose(fp);
}


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-11-17 10:49
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
收藏
得分:0 
scanf("%s",&fname);
这个不需要的么斑竹!

人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-11-17 11:08
cailong103
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-11-16
收藏
得分:0 
&是指的地址符
而fname[20]是一个数组,fname就是指的第一个数即fname[0]的地址,
所以就不需要再加
&
2006-11-17 11:11
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
收藏
得分:0 
饿。原来没看到。呵呵!!!粗心了哈~

人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-11-17 11:21
xyz_susan
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-10-4
收藏
得分:0 
执行到第一个cannot open this file 就结束
2006-11-17 19:24
xyz_susan
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-10-4
收藏
得分:0 
文件格式输入错误不是
2006-11-17 19:26
xyz_susan
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-10-4
收藏
得分:0 
感谢提醒.我把引号改了.现在执行到:pleas input some text:  然后用键盘输入文本就输不进去了.只好按CTRL+BREAK返回。我还是没找到问题所在。还请指点。
2006-11-17 19:34
快速回复:与文件有关
数据加载中...
 
   



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

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