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.“要怎么改? 展开
给定的数据文件是一个文本文件,请编写程序从给定文件中读取指定的行。如果文件中没有指定的行,则显示“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.“要怎么改? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询