Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Быстрый парсинг строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ С++ Схема Горнера для рассчета переменной http://www.cyberforum.ru/cpp-beginners/thread1591161.html
Нужна ваша помощь, я никак не врублюсь( желательно напишите код. Заранее благодарен! Рассчитать значение переменной z при x, которая изменяется от -1 до +1 с шагом 0,1. Выражения для вычисления...
C++ Вычисление бексонечной суммы с заданной точностью Вычислить и вывести на экран значение функции F(x) на отрезке с шагом 0.1 и точностью e Почему то код не работает Помогите пожалуйста F(x)= 1 - (x*2/3!) +(x*4/5!) - (x*6/7!)+(x*8/9!) .... , x Є... http://www.cyberforum.ru/cpp-beginners/thread1591152.html
C++ Операторы цикла в языке C++
Здравствуйте,помогите пожалуйста сделать лабораторную задачу)не знаю как делать( Задание: 1. Составить схему и разработать программу на языке С++ для реализации любой из предложенных задач с учетом...
C++ Утилита выводит каталог файлов с подробной информацией
Утилита выводящая список файлов в заданном каталоге с подробной информацией по каждому из них. (Прошу помощи!!!)
C++ Ошибка 'cannot determine which instance of overloaded function "exp" is intended' http://www.cyberforum.ru/cpp-beginners/thread1591147.html
Visual studio выдаёт ошибку 1 IntelliSense: cannot determine which instance of overloaded function "exp" is intended f:\project\test\test\test.cpp 13 2 test Создал простенький проект с одним...
C++ Выяснить значение переменной в wireshark Добрый день! Заранее извиняюсь если спрашиваю не в той ветке или вообще не на том форуме)) Задача такая, есть некая браузерная игра, есть смысл написать на неё бота на некоторые функции игры. С... подробнее

Показать сообщение отдельно
Fobes
16 / 16 / 2
Регистрация: 19.09.2012
Сообщений: 212

Быстрый парсинг строки - C++

24.11.2015, 13:02. Просмотров 441. Ответов 4
Метки (Все метки)

Всем доброго времени суток... Прошу разъяснить что делаю не так.
Получаю строку вида, нужно ее обработать с минимальными задержками, по этому посмотрел в сторону strtok:
"B 1023 0 0 0 0 0 0 0 E
74 E

"

Нужно ее обработать. Важна только первая строчка, все остальное - мусор, который меняется. Пытаюсь сделать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//бежим до первого перехода на новую строку
char* tmp = strtok(buf, "\r"); 
//выводим, получили то что нужно "B 1023 0 0 0 0 0 0 0 E"
std::cout << tmp;
 
//парсим tmp
char* tmp1 = strtok(tmp, " ");  
while (tmp1 != NULL)
{
std::cout << tmp1;
tmp1 = strtok(NULL, " ");
}  
 
std::cout << std::endl;
Запускаю, получаю странную картину, обрабатывает 2 раза правильно, потом ерунда:
Кликните здесь для просмотра всего текста

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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru