函数说明
- void PrintFileOfPosition(int position_file,char * src_file),参数1为指定位置,参数2为文件名。
- 文件读取方式为行读取,所以读完一行要记录该行字符的数量,方便找到指定位置所在行。
- while (scanf("%d",&position_file))循环输入指定位置,直到输入非数字类型。
函数实现
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_LINE 1024
/**
* 打印文本指定位置所在行内容
* @param position_file
* @param src_file
*/
void PrintFileOfPosition(int position_file,char * src_file)
{
FILE* fp; //文件指针
char buffer[MAX_LINE] ; //缓冲区
int len=0,len_m=0,len_n=0;
int i;
fp = fopen(src_file,"r");
if(fp == NULL){
printf("cannot open file!");
exit(0);
}
//读取文件内容
while(! feof(fp)){
// fgets() 在读出 MAX_LINE 个字符之前,遇到 换行符 或 EOF 则读出结束
if(fgets(buffer, MAX_LINE, fp) != NULL){
len_n=len_m;//该行之前读取的字符数量