0
我遇到的atoi)一個奇怪的問題(C++的atoi()只返回第一個數字
我做一個轉換是這樣的:
cout<<atoi(mystring.c_str())<<endl;
MyString的是像3245524
字符串上面的代碼只會返回3到標準輸出。
現在,如果我使字符串變小,例如少於1000000,然後我得到整個號碼返回到標準輸出。
任何想法是什麼導致這個問題?這仍然遠低於C++ int的限制,所以它不會溢出。
編輯,一些額外的信息。當我簡化命令簡單:
cout<<mystring.c_str()<<endl;
的標準輸出是一樣的東西3.24552e + 06
與此有關的問題?
提供一個演示此問題的完整可編譯示例。 –
所以,根據你的編輯,'mystring'實際上就是沒有像「3245524」 –
是的。將結束atoi之後3 – clancer