title: Counting number of lines in the file in C
body: <p>I'm writing a function that reads the number of lines in the given line. Some text files may not end with a newline character.</p>
  
  <pre><code>int line_count(const char *filename)
  {
     int ch = 0;
     int count = 0;    
     FILE *fileHandle;
  
     if ((fileHandle = fopen(filename, "r")) == NULL) {
        return -1;
     }
  
     do {
        ch = fgetc(fileHandle);
        if ( ch == '\n')
           count++;
     } while (ch != EOF);
  
     fclose(fileHandle);
  
     return count;
  }
  </code></pre>
  
  <p>Now the function doesn't count the number of lines correctly, but I can't figure out where the problem is. I would be really grateful for your help.</p>