imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 22.11.2003, 18:05     # 1
il_elec
Junior Member
 
Аватар для il_elec
 
Регистрация: 24.04.2003
Сообщения: 130

il_elec Известность не заставит себя ждатьil_elec Известность не заставит себя ждать
Разделение строки на символы в Си.

Помогите, пожалуйста с такой задачей?
Нужно брать строку, разделить её на символы и код каждого символа послать в порт.
Заранее спасибо!
__________________
Всё пройдёт, и это тоже...
il_elec вне форума  
Старый 22.11.2003, 21:09     # 2
Drakosha
Full Member
 
Аватар для Drakosha
 
Регистрация: 16.10.2002
Адрес: ArchLinux, Internet
Сообщения: 557

Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)
строка в смысле char*?
Drakosha вне форума  
Старый 23.11.2003, 01:28     # 3
BRULIK
Member
 
Аватар для BRULIK
 
Регистрация: 24.03.2003
Сообщения: 300

BRULIK Луч света в тёмном царствеBRULIK Луч света в тёмном царствеBRULIK Луч света в тёмном царствеBRULIK Луч света в тёмном царствеBRULIK Луч света в тёмном царствеBRULIK Луч света в тёмном царстве
chtoto tipa etogo tebe nado ?
*a="abcd";
*potr=00FFx0;
while(a)
port=*a++;
__________________
0 Вы в интернете
1 Вы на сайте http://www.imho.ws
2 Вы читаете это
4 Вы не заметили отсутствия пункта 3
5 Вы это проверили
6 Вы улыбаетесь
BRULIK вне форума  
Старый 23.11.2003, 09:48     # 4
il_elec
Junior Member
 
Аватар для il_elec
 
Регистрация: 24.04.2003
Сообщения: 130

il_elec Известность не заставит себя ждатьil_elec Известность не заставит себя ждать
BRULIK
Что-то похожее. Спасибо, попробую.

Добавлено в ту же минуту:
Drakosha
Строка в смысле строка символов, которую ввожу функцией scanf ()

Добавлено через 10 минут:
BRULIK
Не то. Он посылает кучу данных, но не скэн-коды символов.
__________________
Всё пройдёт, и это тоже...

Последний раз редактировалось il_elec; 23.11.2003 в 09:56.
il_elec вне форума  
Старый 23.11.2003, 12:14     # 5
Drakosha
Full Member
 
Аватар для Drakosha
 
Регистрация: 16.10.2002
Адрес: ArchLinux, Internet
Сообщения: 557

Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)
"Добавлено через 10 минут:
BRULIK
Не то. Он посылает кучу данных, но не скэн-коды символов."

A chto nado poslat'???
Drakosha вне форума  
Старый 23.11.2003, 19:29     # 6
il_elec
Junior Member
 
Аватар для il_elec
 
Регистрация: 24.04.2003
Сообщения: 130

il_elec Известность не заставит себя ждатьil_elec Известность не заставит себя ждать
Drakosha
Код символа в порт.
__________________
Всё пройдёт, и это тоже...
il_elec вне форума  
Старый 24.11.2003, 11:35     # 7
Drakosha
Full Member
 
Аватар для Drakosha
 
Регистрация: 16.10.2002
Адрес: ArchLinux, Internet
Сообщения: 557

Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)
ASCII Код символа = (int)(*a)
Drakosha вне форума  
Старый 27.11.2003, 17:53     # 8
il_elec
Junior Member
 
Аватар для il_elec
 
Регистрация: 24.04.2003
Сообщения: 130

il_elec Известность не заставит себя ждатьil_elec Известность не заставит себя ждать
Всем спасибо. Задачу решил с помощью такой функции:

w_input (char *t)
{
int how=strlen (t);
while (how>0)
{
putch (*t);
t++;
how--;
}
}

работает
__________________
Всё пройдёт, и это тоже...
il_elec вне форума  
Старый 28.11.2003, 23:48     # 9
BRULIK
Member
 
Аватар для BRULIK
 
Регистрация: 24.03.2003
Сообщения: 300

BRULIK Луч света в тёмном царствеBRULIK Луч света в тёмном царствеBRULIK Луч света в тёмном царствеBRULIK Луч света в тёмном царствеBRULIK Луч света в тёмном царствеBRULIK Луч света в тёмном царстве
w_input (char *t)
{
while (t!='\n')
{
putch (*t);
t++;
}
}
__________________
0 Вы в интернете
1 Вы на сайте http://www.imho.ws
2 Вы читаете это
4 Вы не заметили отсутствия пункта 3
5 Вы это проверили
6 Вы улыбаетесь
BRULIK вне форума  
Старый 29.11.2003, 13:15     # 10
il_elec
Junior Member
 
Аватар для il_elec
 
Регистрация: 24.04.2003
Сообщения: 130

il_elec Известность не заставит себя ждатьil_elec Известность не заставит себя ждать
BRULIK
Да... так даже лучше...
__________________
Всё пройдёт, и это тоже...
il_elec вне форума  
Старый 01.12.2003, 01:50     # 11
joker99
Full Member
 
Аватар для joker99
 
Регистрация: 19.07.2003
Адрес: Israel
Сообщения: 924

joker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форуме
Цитата:
il_elec:
while (t!='\n')
А с каких это пор в C string кончается на '\n' а не на 0 ?

К тому же ты сравниваеш pointer c char, a надо то на что он показывает (*t).

правильнее так:
Код:
w_input (char *t)
{
   while (*t!=0)
   {
      putch (*t);
      t++;
   }
}
__________________
Столько дел, что и работой занятся некогда...
joker99 вне форума  
Старый 01.12.2003, 21:32     # 12
BRULIK
Member
 
Аватар для BRULIK
 
Регистрация: 24.03.2003
Сообщения: 300

BRULIK Луч света в тёмном царствеBRULIK Луч света в тёмном царствеBRULIK Луч света в тёмном царствеBRULIK Луч света в тёмном царствеBRULIK Луч света в тёмном царствеBRULIK Луч света в тёмном царстве
joker99
Stroka moget sostoiat' iz dvyh slov , razdelennih probelom , kotoriy i prochitaetsia kak 0

prinimayu svoyu oshibky. pravil'no bydet tak

w_input (char *t)
{
while ( *t! = '\0' )
{
putch (*t);
t++;
}
}

ili ia opiat' obshibayus' ?
__________________
0 Вы в интернете
1 Вы на сайте http://www.imho.ws
2 Вы читаете это
4 Вы не заметили отсутствия пункта 3
5 Вы это проверили
6 Вы улыбаетесь
BRULIK вне форума  
Старый 02.12.2003, 21:36     # 13
joker99
Full Member
 
Аватар для joker99
 
Регистрация: 19.07.2003
Адрес: Israel
Сообщения: 924

joker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форумеjoker99 Популярный человек на этом форуме
Ошибаешся.

Код ASCII пробела это 32 а не 0.
Строка в С заканчивается на символ код ASCII которого - 0.

'\' ставится перед escape characters например:

\n - new line
\t - tab
\\ - \

он не ставится перед кодами ASCII и коды ASCII не берутся в кавычки, так что мой вариант правильный а твой не скомпилируется.
Будет ошибка: \0 - unreconized escape character или что то похожее.
__________________
Столько дел, что и работой занятся некогда...
joker99 вне форума  

Опции темы

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

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

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


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




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