Linux C语言怎么读取文件指定行内容

比如读取文件的第10行。
2024年11月02日 07:55
有2个网友回答
网友(1):

1、用fgets函数可以读取文件中某行的数据,某列数据就必须一个一个读入每行的第几个字符,再存入到一个字符串当中。

2、例程:

#include
#include
void main()
{
  char a[100],b[100],c[100];
  int i=3,j=4,k=0;    //第三行,第四列
  FILE *fp = fopen("data.txt","r");
  while(fgets(c,100,fp)){    //读入每行数据
    i--;
    if(i==0) strcpy(a,c);    //读到第三行数据
    b[k++]=c[j-1];        //把每行的那列字符拷到b中
  }
  b[k]=0;
  printf("第%d行数据:%s\n",i,a);
  printf("第%d列数据:%s\n",j,b);
  fclose(fp);
}

网友(2):

#include
int main()
{
FILE *fp=fopen("file.txt", "r");
int i;
char str[1024]; //足够容纳最大长度的一行!
if (fp==NULL )
return -1;
for( i=0;i<9;i++ ) //跳过前9行
{
fgets(str,sizeof(str),fp);
}
fgets(str,sizeof(str),fp); //读第10行
printf("%s", str );
return 0;
}