我試過很多方法,詳見這裏:http://www.cplusplus.com/forum/general/13135/不能把字符串轉換在C++到INT在LINUX
他們中的大多數工作,如果我在Windows上運行的文件,但是當我嘗試這樣做在LINUX上,它們都不起作用。 例如,我嘗試做:
string str = "123";
int sp;
istringstream (str) >> sp;
但它給我的錯誤:「無效的使用不完全類型的‘結構的std :: istringstream’ /usr/include/c++/4.4/iosfwd:67:錯誤:聲明'struct std :: istringstream'「
其他選項是'atoi',但它表示'atoi沒有在此範圍內定義。
任何想法爲什麼會發生?
對於「atoi」#包括'。對於「istringstream」,'#include '。你還應該添加'using namespace std;' –
paulsm4
我不會建議使用* atoi *,它不符合ANSI標準。 C++ 11有* to_string *方法(請參閱http://en.cppreference.com/w/cpp/string/basic_string/to_string)。在較老的C++中,你可以嘗試類似* fprintf *的東西。 –
@ user1818446想從字符串轉換爲int。而不是其他方式;) – Evert