IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Разделение строки на символы в Си. (https://www.imho.ws/showthread.php?t=44057)

il_elec 22.11.2003 18:05

Разделение строки на символы в Си.
 
Помогите, пожалуйста с такой задачей?
Нужно брать строку, разделить её на символы и код каждого символа послать в порт.
Заранее спасибо!

Drakosha 22.11.2003 21:09

строка в смысле char*?

BRULIK 23.11.2003 01:28

chtoto tipa etogo tebe nado ?
*a="abcd";
*potr=00FFx0;
while(a)
port=*a++;

il_elec 23.11.2003 09:48

BRULIK
Что-то похожее. Спасибо, попробую.

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

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

Drakosha 23.11.2003 12:14

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

A chto nado poslat'???

il_elec 23.11.2003 19:29

Drakosha
Код символа в порт.

Drakosha 24.11.2003 11:35

ASCII Код символа = (int)(*a)

il_elec 27.11.2003 17:53

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

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

работает :)

BRULIK 28.11.2003 23:48

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

il_elec 29.11.2003 13:15

BRULIK
Да... так даже лучше...

joker99 01.12.2003 01:50

Цитата:

il_elec:
while (t!='\n')
А с каких это пор в C string кончается на '\n' а не на 0 ?

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

правильнее так:
Код:

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


BRULIK 01.12.2003 21:32

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' ?

joker99 02.12.2003 21:36

Ошибаешся.

Код 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.