#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#define MAX_LENTH_OF_LINE 1024
int SetPositionByLine(FILE *fp, int nLine)
{
int i = 0;
char buffer[MAX_LENTH_OF_LINE + 1];
fpos_t pos;
rewind(fp);
for (; i < nLine; i++)
fgets(buffer, MAX_LENTH_OF_LINE, fp);
fgetpos(fp, &pos);
return 0;
}
int FindNthNo(char buffer[],int target,int arrsize)
{
int j=0,k=0,n=0,result=0;
char cc[20]={};
for( j=0;j<arrsize;j++)
{
if(n==target)
break;
if(buffer[j]==' ')
{
printf("buffer[%d]=%d\n",j,buffer[j]);
n++;
}
}
for(;j<arrsize;j++)
{
if((buffer[j]!=' ')&&(buffer[j]!='\0'))
{
cc[k++]=buffer[j];
}
else
{
break;
}
}
cc[k++]='\0';
result=atoi(cc);
printf("FindNthNo--result=%d\n",result);
return result;
}
int ReadByLine(int nLine,int No){
char buffer[MAX_LENTH_OF_LINE + 1]={};
FILE *fp =NULL;
int count=0;
fp = fopen("test.txt", "r");
SetPositionByLine(fp, nLine);
fgets(buffer, MAX_LENTH_OF_LINE, fp);
printf("%s\n", buffer);
count = FindNthNo(buffer,No,sizeof(buffer)/sizeof(char));
printf("count = %d\n",count);
fclose(fp);
return count;
}
int main(){
ReadByLine(2,1);
return 0 ;
}