| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 601 人关注过本帖
标题:[求助]关于读文件
只看楼主 加入收藏
meteor57
Rank: 1
来 自:银河系
等 级:新手上路
帖 子:267
专家分:0
注 册:2007-9-29
结帖率:100%
收藏
 问题点数:0 回复次数:5 
[求助]关于读文件

第一个没问题,可以通过编译(TC2.0),也能正确读"d:\1.txt"的文件
第二个有点问题,可以编译,但无法读取输入的文件名.
提示:null pointer assignment
输入的是d:\1.txt,当然,前提是d:\1.txt存在.

如果输入d:\\1.txt,则打开错误
如何才能把第二个也做好?

小弟刚开始学C的,我已经想了蛮久了,不明白.指点一下是什么回事,谢谢了啦!!!

#include<stdio.h>
main()
{
FILE *fp;
char ch;
if((fp=fopen("d:\\1.txt","rt"))==NULL)
{
printf("Can not open file strike any key exit!");
getch();
exit(1);
}

ch=fgetc(fp);
while (ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}


#include<stdio.h>

main()
{
char fname[80];
char ch;
FILE *fp;

printf("\nPlease input the file path:\n");
gets(fname);

if(fp=(fopen(fname,"r"))==NULL)
{
printf("file %s can't opened\n",fname);
exit(0);
}

ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}

fclose(fp);
}

搜索更多相关主题的帖子: 文件 assignment strike 
2007-09-30 00:45
浅色的回忆
Rank: 1
等 级:新手上路
帖 子:139
专家分:0
注 册:2007-6-24
收藏
得分:0 
是不是\\的问题?

2007-09-30 00:53
meteor57
Rank: 1
来 自:银河系
等 级:新手上路
帖 子:267
专家分:0
注 册:2007-9-29
收藏
得分:0 
回复:(meteor57)[求助]关于读文件

如我所说

输入:d:\1.txt 显示:null pointer assignment

输入d:\\1.txt 显示:file d:\\1.txt can't opened!
请大家指点一下,到底是程序有误,还是我输入有问题?

[此贴子已经被作者于2007-9-30 1:01:24编辑过]

2007-09-30 01:00
浅色的回忆
Rank: 1
等 级:新手上路
帖 子:139
专家分:0
注 册:2007-6-24
收藏
得分:0 
我想是gets(fname);这句的问题.
输入之后,指针指向了d:\1.txt 的后边.你看看是不是这个问题.

2007-09-30 01:08
meteor57
Rank: 1
来 自:银河系
等 级:新手上路
帖 子:267
专家分:0
注 册:2007-9-29
收藏
得分:0 
gets(fname);是输入文件名.那还要加什么东东,才能正确打开输入的文件名?

我找过谭的C也没有类似例题.要么就是打开指定文件(在源码中已经写好路径,就像上面的第一个),要么就是输入文件名,再输入文件内容,最后显示.都不太一样啊.急切想知道到底应该怎么做啊.

2007-09-30 12:04
meteor57
Rank: 1
来 自:银河系
等 级:新手上路
帖 子:267
专家分:0
注 册:2007-9-29
收藏
得分:0 

浅色的回忆,谢谢你了.我知道是怎么回事了

#include<stdio.h>

main()
{
char fname[80];
char ch;
FILE *fp;

printf("\nPlease input the file path:\n");
gets(fname);

if((fp=fopen(fname,"r"))==NULL) /*问题出在这,晕.括号打错了.看来以后得小心才行啊.*/
{
printf("file %s can't opened\n",fname);
exit(0);
}

ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}

fclose(fp);
}

2007-09-30 13:22
快速回复:[求助]关于读文件
数据加载中...
 
   



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

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