title: isdigit raises a debug assertion when entering £ and ¬
body: <p>The below code works for every character I type in except for <code>£</code> or <code>¬</code>.</p>
  
  <p>Why do I get a "debug assertion fail"?</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;string&gt;
  #include &lt;cctype&gt;
  using namespace std;
  
  int main() {
      string input;
      while (1) {
          cout &lt;&lt; "Input number: ";
          getline(cin, input);
          if (!isdigit(input[0]))
              cout &lt;&lt; "not a digit\n";
      }
  }
  </code></pre>