c语言读取文件内容的问题?

题目是:给定的数据文件是一个文本文件,请编写程序从给定文件中读取指定的行。如果文件中没有指定的行,则显示“LineNoError.”。如果文件不存在,则显示“FileNa... 题目是:
给定的数据文件是一个文本文件,请编写程序从给定文件中读取指定的行。如果文件中没有指定的行,则显示“Line No Error.”。如果文件不存在,则显示“File Name Error.”。
输入:
第一行是要以只读方式打开的文本文件名
第二行是要读取的行号(从1开始)
输出:
文件中指定行号的内容(完整一行的内容)

我写的是:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
FILE *fp;
char a[20];
scanf("%s",a);
fp=fopen(a,"r");
if(fp==NULL){
printf("File Name Error.\n");
exit(0);
}
int n;
scanf("%d",&n);char s[20];
while(n--){ //读取fp到s中
if(fgets(s,20,fp)==NULL){
fp=NULL;
break;
}
}
if(fp==NULL)
printf("Line No Error.\n");
else
printf("%s",s);
return 0;
}

可是测试的时候不管怎么样只会输出"File Name Error.“要怎么改?
展开
 我来答
乐VoV乐
2013-05-28 · 知道合伙人软件行家
乐VoV乐
知道合伙人软件行家
采纳数:289 获赞数:877
深圳市潮范文化传播有限公司软件工程师.

向TA提问 私信TA
展开全部

测试成功,并不是输入文件名,而是输入文件的完整路径,包括后缀名。

追问

可是这程序是提交给系统的作业,按理说系统里应该给设置好路径了吧

CraZy_小猪
2013-05-28 · TA获得超过792个赞
知道小有建树答主
回答量:871
采纳率:55%
帮助的人:273万
展开全部
从你的code上来看,文件的路径是通过键盘输入的,但是你是否考虑过文件的路径中的“\”是要打成\\的??
例如:你想打开D盘中的1.txt文件,在输入时候应该输入:d:\\1.txt 而不是d:\1.txt

有问题,请提出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式