atoi() only giving 0 result
<pre><code>#include &lt;iostream&gt;
#include &lt;math.h&gt;
#include &lt;iomanip&gt;
#include &lt;sstream&gt;
#include &lt;stdio.h&gt;
#include &lt;string&gt;
#include &lt;stdlib.h&gt;
using namespace std;

int main()
{
    ostringstream str;
    double num = pow(2,1000);
    int sum = 0;

    str &lt;&lt; setprecision(1000) &lt;&lt; num;
    string here = str.str();

    cout &lt;&lt; here &lt;&lt; "\n\n";

    /*for(int i = 0; i &lt; here.length(); i++)
    {
        sum += atoi(&amp;here[i]);
    }*/

    cout &lt;&lt; atoi(&amp;here[0]);
    cout &lt;&lt; atoi(&amp;here[1]);
    cout &lt;&lt; atoi(&amp;here[2]);
}
</code></pre>

<p>output:</p>

<pre><code>10715086071862673209484250490600018105614048117055336074437503883703510511249361
22493198378815695858127594672917553146825187145285692314043598457757469857480393
45677748242309854210746050623711418779541821530464749835819412673987675591655439
46077062914571196477686542167660429831652624386837205668069376

000
</code></pre>

<p>Why all 0s?</p>
