在Windows和Windows下,Boost的tokenizer会产生不同的结果。 Linux的

时间:2013-08-05 10:10:08

标签: c++ linux boost tokenize boost-tokenizer

我在boost :: tokenizer中发现了一些奇怪的东西。(boost版本1.53.0,1.52.0)

    tokenizer<escaped_list_separator<char> > tok(line);
    vec.assign( tok.begin(), tok.end() );
    ......
    double volume = lexical_cast<double>( vec[6] );

此代码在Linux(Ubuntu 12.04.2和gcc版本4.6.3)下崩溃,并在Windows 7(VS 2010 Express)下正常运行。 我想要准备的字符串('line'变量)是:

    2012-12-03,09:30:00.000,35.3,35.5,35.26,35.47,26963

在linux下:

     vec[6] is '26963\r'

并且lexical_cast崩溃。

在Windows下:

     vec[6] is '26963'

工作正常。

这是正确的行为吗?

0 个答案:

没有答案