17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
|
||||||
1 | ||||||
Быстрый парсинг строки24.11.2015, 13:02. Показов 3711. Ответов 4
Метки нет Все метки)
(
Всем доброго времени суток... Прошу разъяснить что делаю не так.
Получаю строку вида, нужно ее обработать с минимальными задержками, по этому посмотрел в сторону strtok: "B 1023 0 0 0 0 0 0 0 E 74 E " Нужно ее обработать. Важна только первая строчка, все остальное - мусор, который меняется. Пытаюсь сделать так:
Кликните здесь для просмотра всего текста
B 1023 0 0 0 0 0 0 0 EB10230000000E B 1023 0 0 0 0 0 0 0 EB10230000000E BB BB BB BB BB BB BB BB BB BB BB BB BB BB B 1023 0 0 0 0 0 0 0 EB10230000000E B 1023 0 0 0 0 0 0 0 EB10230000000E BB BB BB BB BB BB BB BB BB BB BB BB BB BB Что я делаю не так ? Ведь если убрать обработку tmp, то будет выводить все правильно, только первую строку.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
24.11.2015, 13:02 | |
Ответы с готовыми решениями:
4
Быстрая работа со строкой (быстрый парсинг) Быстрый парсинг огромного txt файла (800 мб) |
2758 / 1912 / 569
Регистрация: 05.06.2014
Сообщений: 5,561
|
||||||
24.11.2015, 15:18 | 2 | |||||
Во второй строчке strtok возвращает указатель на свой внутренний буфер. В седьмой строчке вы просите strtok распарсить этот буфер, а результаты он кладет... Правильно, в тот самый буфер, который и парсит. В итоге получается какая-то фигня. Надо как-то так:
0
|
17 / 17 / 5
Регистрация: 19.09.2012
Сообщений: 216
|
|
24.11.2015, 15:48 [ТС] | 3 |
Renji, хм, основная цель стоит разбить на лексемы строку и привести цифры к int'у, а не на отдельные символы. Как быть ?
Посимвольно ведь можем получить после первой работы strtok
0
|
2758 / 1912 / 569
Регистрация: 05.06.2014
Сообщений: 5,561
|
|
24.11.2015, 16:18 | 4 |
Если нужно максимально быстро, то писать свой парсер. Если максимально просто, то преобразовать строку в поток (std::stringstream) и читать через >>.
0
|
24.11.2015, 18:10 | 5 | |||||
Можно по быстрому через spirit:
1
|
24.11.2015, 18:10 | |
Помогаю со студенческими работами здесь
5
Быстрый поиск строки в списке строк Быстрый перевод части строки в число Переносимый, быстрый и безопасный ввод строки Самый быстрый способ получить хеш строки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |