title: (unix/C) "stty: stdin isn't a terminal" when using system() function
body: <p>We're reading a file from stdin into <code>file_buffer</code>, and then stepping into a method <code>more</code>. </p>
  
  <p>As soon as we use <code>system("stty cbreak -echo");</code>, the output prints "stty: stdin isn't a terminal" and doesn't set our terminal to the settings we asked for.</p>
  
  <p>This problem only exists when we use standard in. If we use a file argument, the program works fine -- the terminal settings get set, and there is no error message.</p>
  
  <p>So, this is okay: <code>myprogram file1.txt</code></p>
  
  <p>But this is not: <code>myprogram &lt; file1.txt</code></p>
  
  <p>Either way the contents are being read into <code>file_buffer</code> before being used at all. What the heck is wrong with using stty if we're taking input from stdin??</p>