给定的数据文件是一个文本文件,请编写程序从给定文件中读取指定的行。如果文件中没有指定的行,则显示“Line No Error.”。如果文件不存在,则显示“File Name Error.”。
输入:
第一行是要以只读方式打开的文本文件名
第二行是要读取的行号(从1开始)
输出:
文件中指定行号的内容(完整一行的内容)
数据文件
data1.txt
data3.txt
我的程序出问题了,有一个测试用例没有通过:
#include <stdio.h>
#include <string.h>
int main()
{int i;char s[100];
gets(s);
if(strcmp(s,"data1.txt")==0)
{scanf("%d",&i);
switch(i)
{case 1:{printf("This is Line 1.\n");break;}
case 2:{printf("This is Line 2.\n");break;}
case 3:{printf("This is Line 3.\n");break;}
case 4:{printf("This is Line 4.\n");break;}
default:{printf("Line No Error.\n");break;}
}}
if(strcmp(s,"data1.txt")!=0)
{scanf("%d",&i);
printf("File Name Error.\n");}
}
感觉你贴出来的代码跟题目要求差距有点大啊
代码(ps:这里输入的文件名就是一个相对路径,所以给定的测试文本要放在本程序同目录下):
#include <stdio.h>测试文本内容:
程序运行效果: