Токенизатор Boost отличается результатами под windows & amp; линукс

Я нашел странную вещь с 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 падает.

Под виндой:

     vec[6] is '26963'

работает отлично.

Это правильное поведение?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]