isalpha(<mychar>) == true evaluates to false?
<p>string temp  is equal to "ZERO:\t.WORD\t1" from my debugger. (the first line of my file)</p>

<pre><code>string temp = RemoveWhiteSpace(data);
int i = 0;
if ( temp.length() &gt; 0 &amp;&amp; isalpha(temp[0]) )
    cout &lt;&lt; "without true worked" &lt;&lt; endl;
if ( temp.length() &gt; 0 &amp;&amp; isalpha(temp[0]) == true )
    cout &lt;&lt; "with true worked" &lt;&lt; endl;
</code></pre>

<p>This is my code to check if first character of temp is a a-z,A-Z. The first if statement will evaluate to true and the 2nd to false. WHY?!?!?! I have tried this even without the "temp.length() > 0 &amp;&amp;" and it still evaluates false. It just hates the "== true". The only thing I can think of is that isalpha() returns != 0 and true == 1. Then, you could get isalpha() == 2 != 1. But, I have no idea if C++ is that ... weird.</p>

<p>BTW, I dont need to know that the "== true" is logically pointless. I know.</p>

<p>output was</p>

<pre><code>without true worked
</code></pre>

<p>Compiled with CodeBlock using GNU GCC on Ubuntu 9.10 (if this matters any)</p>
