我将使用字符串流将字符串转换为整数。
假设一切工作完成:
似乎可以起作用的基本案例是当我执行以下操作时:
假设一切工作完成:
using namespace std;
似乎可以起作用的基本案例是当我执行以下操作时:
string str = "12345";
istringstream ss(str);
int i;
ss >> i;
这个可以正常工作。
但是假设我有一个定义为字符串的变量:
string test = "1234567891";
我能:
int iterate = 0;
while (iterate):
istringstream ss(test[iterate]);
int i;
ss >> i;
i++;
这并不按照我想要的方式工作。实际上,我希望分别处理字符串中的每个元素,就像它是一个数字一样,所以我想先将它转换为整数,但我似乎做不到。请有人能帮我吗?
我得到的错误是:
In file included from /usr/include/c++/4.8/iostream:40:0,
from validate.cc:1:
/usr/include/c++/4.8/istream:872:5: note: template<class _CharT, class _Traits, class _Tp> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&&, _Tp&)
operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x)
^
/usr/include/c++/4.8/istream:872:5: note: template argument deduction/substitution failed:
validate.cc:39:12: note: ‘std::ostream {aka std::basic_ostream<char>}’ is not derived from ‘std::basic_istream<_CharT, _Traits>’
cout >> i >> endl;
int i = test[iteratet] - '0'
- Jerry Jeremiah