Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Вопрос по С в Кодевижул

Непрочитано 10.03.2008, 23:56  
Kanava
Прописка
 
Регистрация: 11.09.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Kanava на пути к лучшему
По умолчанию Вопрос по С в Кодевижул

Проблемку не могу решить. Приходить строка из комп порта, такого типа: "A_100" или "BI_1". Надо в первую переменную загнать все что до '_' стоит. А во вторую перемнную все что после '_'. вот так

буквы="BI"
цифры="1"

подскажите =)
Реклама:
Kanava вне форума  
Непрочитано 11.03.2008, 08:27  
Kanava
Прописка
 
Регистрация: 11.09.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Kanava на пути к лучшему
По умолчанию

НУ что кто нить скажит как это реализовать?
Kanava вне форума  
Непрочитано 11.03.2008, 08:47  
stri
Прописка
 
Аватар для stri
 
Регистрация: 11.07.2006
Адрес: Ru, Nsk
Сообщений: 249
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
stri на пути к лучшему
По умолчанию

у меня так сделано: данные из порта пишутся в массив по прерыванию, т.е. есть буффер типа unsigned char buff[30], заполняю его. Затем дело техники.

for(a=0;a‹30;a++)if(buff[a]=='_') then pos=a;
for(b=0;b‹pos;b++)digit=digit*buff[b];
Ну или как то так...
stri вне форума  
Непрочитано 11.03.2008, 14:22  
Shagg
Прохожий
 
Регистрация: 29.12.2007
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Shagg на пути к лучшему
По умолчанию

Функция strchr возвращает указатель на позицию символа в строке. Пример разбиения строки по символу:
//-------------------------------------------------
int main(int argc, char* argv[])
{
char *s = new char[255];
scanf("%s", s);
int len = strlen(s);
char *s_ = s;
char *_s = strchr(s, '_');
if (_s) *(_s++) = '\0';

printf("%s\t%s", s_, _s);
getch();
delete [] s;
return 0;
}
//-------------------------------------------------
Shagg вне форума  
Непрочитано 11.03.2008, 21:45  
Kanava
Прописка
 
Регистрация: 11.09.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Kanava на пути к лучшему
По умолчанию

ГЫ


char s[] = "BI_100";
char *n;
int i;
for(i = 0, n = NULL; s[i]; ++i) {
if (s[i] == '_') {
s[i] = '\0';
n = s + i + 1;
break;
}
}
if (n == NULL) {
fprintf(stderr, "Invalid sintax\n");

}
Kanava вне форума  
Непрочитано 12.03.2008, 19:10  
AndryG
Вид на жительство
 
Регистрация: 22.06.2006
Адрес: Украина
Сообщений: 306
Сказал спасибо: 19
Сказали Спасибо 32 раз(а) в 24 сообщении(ях)
AndryG на пути к лучшему
По умолчанию

"Конечный автомат" -- почитайте в Сети -- очень полезно будет.
AndryG вне форума  
Непрочитано 14.03.2008, 01:42  
Kanava
Прописка
 
Регистрация: 11.09.2007
Сообщений: 104
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Kanava на пути к лучшему
По умолчанию

Сообщение от AndryG
"Конечный автомат" -- почитайте в Сети -- очень полезно будет.
Изучал в универе компилятор писали.
Kanava вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопрос по си Gladkih Микроконтроллеры, АЦП, память и т.д 4 12.02.2009 22:21
ВОПРОС ПО СИ Gladkih Микроконтроллеры, АЦП, память и т.д 5 04.12.2008 16:30
Вопрос по ОУ Slava_shp Автоматика и аппаратура связи 1 02.04.2007 10:47
Вопрос по PROTEUSу. Pit10 Proteus 27 08.02.2007 07:49


Часовой пояс GMT +4, время: 21:55.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.