title: Alphanumeric to numeric in c ambiguity
body: <p>All, </p>
  
  <p>functions which check and covert if a string is a numerical or not such as atol and atoi ...
  I checked in c/c++ reference in atol description and it was written like this in the case of absence of any numeric in the string. </p>
  
  <blockquote>
    <p>no conversion is performed and zero is returned.</p>
  </blockquote>
  
  <p>Obviously this may be an ambiguity if the string i passed is <code>"0"</code> so atol will returns a zero same as the precedent case.</p>
  
  <p>As the function signature is int atoi() or long atol() the returned value might be an int or long so the returned value will match in all cases with a returned value of a real int.(i mean even though atoi returns a negative value for no-numeric string this returned value matches with the conversion of the string of this value it self) ambiguity persist</p>
  
  <p>is it unsafe to check a string if it is a numeric or not using this functions?
  what would be the good solution for this case?</p>