title: Accessing individual characters in a file inefficient? (C++)
body: <p>I've always assumed it to be more efficient, when processing text files, to first read the contents (or part of it) into an std::string or char array, as — from my limited understanding — files are read from memory in blocks much larger than the size of a single character. However, I've heard that modern OS's are often not actually directly reading from the file anyway, making my manually buffering the input little benefit.</p>
  
  <p>Say I wanted to determine the number of a certain character in a text file. Would the following be inefficient?</p>
  
  <pre><code>while (fin.get(ch)) {
      if (ch == 'n')
          ++char_count;
  }
  </code></pre>
  
  <p>Granted, I guess it would depend on file size, but does anyone have any general rules about what's the best approach?</p>