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

比如读取文件的第10行。

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

2、例程:

#include<stdio.h>
#include<string.h>
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);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-16
#include <stdio.h>
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;
}追问

怎么取这一行的第2到第10个字符呢?O(∩_∩)O谢谢

追答

#include
...
fgets(str,sizeof(str),fp); //读第10行

{
char temp[10]={0};
strncpy( temp,str+1,9 ); //取这一行的第2到第10个字符 赋值给temp

printf("%s\n", temp );
}

本回答被提问者和网友采纳
相似回答