![]() |
Разделение строки на символы в Си.
Помогите, пожалуйста с такой задачей?
Нужно брать строку, разделить её на символы и код каждого символа послать в порт. Заранее спасибо! |
строка в смысле char*?
|
chtoto tipa etogo tebe nado ?
*a="abcd"; *potr=00FFx0; while(a) port=*a++; |
BRULIK
Что-то похожее. Спасибо, попробую. Добавлено в ту же минуту: Drakosha Строка в смысле строка символов, которую ввожу функцией scanf () Добавлено через 10 минут: BRULIK Не то. Он посылает кучу данных, но не скэн-коды символов. |
"Добавлено через 10 минут:
BRULIK Не то. Он посылает кучу данных, но не скэн-коды символов." A chto nado poslat'??? |
Drakosha
Код символа в порт. |
ASCII Код символа = (int)(*a)
|
Всем спасибо. Задачу решил с помощью такой функции:
w_input (char *t) { int how=strlen (t); while (how>0) { putch (*t); t++; how--; } } работает :) |
w_input (char *t)
{ while (t!='\n') { putch (*t); t++; } } |
BRULIK
Да... так даже лучше... |
Цитата:
К тому же ты сравниваеш pointer c char, a надо то на что он показывает (*t). правильнее так: Код:
w_input (char *t) |
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' ? |
Ошибаешся.
Код ASCII пробела это 32 а не 0. Строка в С заканчивается на символ код ASCII которого - 0. '\' ставится перед escape characters например: \n - new line \t - tab \\ - \ он не ставится перед кодами ASCII и коды ASCII не берутся в кавычки, так что мой вариант правильный а твой не скомпилируется. Будет ошибка: \0 - unreconized escape character или что то похожее. |
| Часовой пояс GMT +4, время: 15:09. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.