title: Case Sensitivity in C++ Header Files
body: <p>I'm a complete noob when it comes to C++ and I've been hacking away on <a href="http://getmoai.com" rel="noreferrer">Moai</a> trying to add support for an Xbox 360 gamepad via <a href="http://msdn.microsoft.com/en-us/library/dd145260.aspx" rel="noreferrer">XInput</a>. When I include the header for XInput there are two options:</p>
  
  <ol>
  <li>XInput
  <img src="https://i.stack.imgur.com/feDv9.jpg" alt="XInput"></li>
  </ol>
  
  <p>and </p>
  
  <ol start="2">
  <li>Xinput
  <img src="https://i.stack.imgur.com/1se8c.jpg" alt="Xinput"></li>
  </ol>
  
  <p>Further, in order to use XInput I need to include <code>windows.h</code>. All the examples I've seen use the following syntax:</p>
  
  <pre><code>#include &lt;windows.h&gt;
  </code></pre>
  
  <p>But the auto complete in Visual C++ Express 2010 inserts</p>
  
  <pre><code>#include &lt;Windows.h&gt;
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/8wdeP.jpg" alt="Windows.h"></p>
  
  <p>In the case of XInput/Xinput it seems that case-sensitivity matters but in the case on Windows.h it does not seem to matter.</p>
  
  <p>Does case-sensitivity matter when including header files? Is there some logic to this? </p>
  
  <p>Is the XInput difference simply a matter of there being a header for something called <code>XInput</code> and another something called <code>Xinput</code>?</p>