Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Момед давал сначала эхо, потом 0x0D или 0x0D,0x0A, (типа команду понял), а затем чем-то важным был занят, ну и после этой паузы выдавал чего-то буквенное, а затем опять 0x0D,0x0A (на некоторые команды 0x0D,0x0D,0x0A).
Писал свою функцию gets, пропускающую перевод строки и завершающуюся по 0x0A (с заменой на 0)
Выглядело что-то типа так - при int getchar(), возвращающей EOF при отсутствии символа и ноль или положительное значение при наличии символа на входе.
<c>
char * buf[80]={0};
char * gets(void){
int ch;
char * ptr = buf;
while(1){
ch = getchar();
if(ch == EOF)continue;
if(ch == '\r')continue;
if( (ch == '\n') || (ch == 0) ){
*ptr = 0;
return buf;
}
*ptr++ = ch;
}
}
</c>
Составить ответ | Вернуться на конференцию
Ответы