在c中获取文件文本的数字行

时间:2014-05-28 08:10:09

标签: c linux ubuntu numbers line

如何在c上获取文件文本的数字行?帮我 。 获取总和行数。 我想读一个文件文本。 EX:

for( line = 0; line < sumline; line ++) {
 printf("char in line");
}

3 个答案:

答案 0 :(得分:0)

试试这个:

   `int lines = 0;
   while ((read = getline(&line, &len, fp)) != -1) {
       lines++;
   }
   cout << lines << endl;`

答案 1 :(得分:0)

如果我理解了这个问题:

#include <stdio.h>
#include <string.h>

main()
{
   FILE *fp;
   char * line;
   size_t  len = 0;
   ssize_t read;

   int lines = 0;

   fp = fopen("input.txt", "r");
   if( fp != NULL ){
      while ((read = getline(&line, &len, fp)) != -1){
         lines ++;
         printf("%s\n", line);
      }
      fclose(fp);
   }


   printf("number of lines : %d\n", lines);
}

计算文件中的行数

答案 2 :(得分:0)

您可以使用以下函数获取文件中的行数。

#include <stdio.h>

// get the number of lines inside file
int getLineCnt(char *pcFileName) {
  FILE *fp;
  int lines=0;

  fp = fopen(pcFileName, "r");
  if(fp == NULL) { return -1; }

  while (EOF != (fscanf(fp, "%*[^\n]"), fscanf(fp, "%*c"))) {
    ++lines;
  }

  io_fclose(fp);    

  return lines; ///\ retval number of lines
}