Помогите с кодом, распарсить строку
- Войдите на сайт для отправки комментариев
Пнд, 28/03/2016 - 17:13
#define PARAM_DELIMETER "#" // чем разделены у нас параметры #define NAME_VALUE_DELIMETER "#" // чем разделены у нас имя параметра и значение int hour; int minut; void setup(){ Serial.begin(9600); char* inputString="SET TIME #12#20"; // наши тестовые данные // выводим что собираемся парсить Serial.print("input '");Serial.print(inputString); Serial.println("'"); // парсим parseParams(inputString); } // парсид входящую строку в массив params[] и устанавливает parsedParam в количество прочитанных элементов void parseParams(char* inputString){ char* buffer=strtok(inputString,"#"); // лучше так проверять/пропускать вопросилово if(buffer!=NULL){ for(buffer=strtok(NULL, NAME_VALUE_DELIMETER); buffer!=NULL; buffer=strtok(NULL, NAME_VALUE_DELIMETER) ) { // парсим порт Serial.print("hour=");Serial.println(buffer); String h=buffer; hour=h.toInt(); // парсим значение if( (buffer=strtok(NULL,PARAM_DELIMETER)) !=NULL) { Serial.print("min=");Serial.println(buffer); String m=buffer; minut=m.toInt(); } else return ; // фигня какая-то, порт есть, а значения нет, прекращаем парсинг } } Serial.print(hour+minut); } void loop(){}
Код работает. Но мне нужно работать с переменной String, а тут Char.
Помогите пожалуиста. Поиск тем по переводу String в Char результатов не дал.
Код работает. Но мне нужно работать с переменной String, а тут Char.
Помогите пожалуиста. Поиск тем по переводу String в Char результатов не дал.
не понятно, то ли строки в символы, то ли символы в строки тебе нужно.
Метод c_str()
Вангую ответ ТС: "не понял, куда это пихать" :)))
Код работает. Но мне нужно работать с переменной String, а тут Char.
Помогите пожалуиста. Поиск тем по переводу String в Char результатов не дал.
не понятно, то ли строки в символы, то ли символы в строки тебе нужно.
Мне нужно String перевести в Char
У меня есть String stroka="qwertyui";
нужно Char* stroka="qwertyui";
String.toCharArray() ?
http://arduino.ua/ru/prog/StringToCharArray
Мне нужно String перевести в Char
У меня есть String stroka="qwertyui";
нужно Char* stroka="qwertyui";
Если не надо менять исходную строку, а только анализировать.
Мне нужно String перевести в Char
У меня есть String stroka="qwertyui";
нужно Char* stroka="qwertyui";
Если не надо менять исходную строку, а только анализировать.
Спасибо за ответ но не работает
String.toCharArray() ?
http://arduino.ua/ru/prog/StringToCharArray
Так получается пусто....
char stroka2[10]; // А так ?
char stroka2[10]; // А так ?
Так работает, большое спасибо
Мне нужно String перевести в Char
У меня есть String stroka="qwertyui";
нужно Char* stroka="qwertyui";
Если не надо менять исходную строку, а только анализировать.
Спасибо за ответ но не работает
А и не будет работать, если не умеете читать, во-первых, документацию к использованным функциям, и, во-вторых то, что вам пишут. Вы используете strtok, а я ведь ясно написал: c_str() - это когда исходную строку менять не надо. strtok меняет строку, переданную в параметре, c_str() - возвращает константный указатель на строку, следовательно всё, что лежит по этому указателю - запрещено к изменению: компилятор по ручкам настучит.
Ну ей богу - надо же иногда хоть почитать инструкцию. Я понимаю, что это не модно - но без этого - никак.