【发布时间】:2013-12-10 13:25:44
【问题描述】:
为什么 istringstream 似乎无法完全读取带后缀的数字文字?
#include <iostream>
#include <sstream>
using namespace std;
int main() {
long long x = 123ULL; // shows 123ULL is a valid long long literal
istringstream iss("123ULL");
iss >> x;
cout << "x is " << x << endl;
char extra;
iss >> extra;
cout << "remaining characters: ";
while(!iss.eof())
{
cout << extra;
iss >> extra;
}
cout << endl;
return 0;
}
这段代码的输出是
x is 123
remaining characters: ULL
此行为是否由语言环境控制?谁能指点我清除有关istringstream::operator>>(long long) 接受哪些字符串的文档?
【问题讨论】:
标签: c++ literals istringstream long-long