Red de conocimiento informático - Material del sitio web - Cómo leer caracteres sin retorno de carro usando lenguaje C en Linux

Cómo leer caracteres sin retorno de carro usando lenguaje C en Linux

Mi rutina muestra cómo leer caracteres sin retornos de carro. En realidad, emula los pequeños programas que se ven a menudo y que permiten al usuario escribir Y o N.

#include lt;termios.hgt;

#include lt;stdio.hgt;

#include lt;unistd.hgt;

#include lt;string.hgt;

#include lt;string.>int main()

{

char ch;

struct termios old_term;

struct termios cur_term;

int ret

tcgetattr(STDIN_ FILENO, amp; old_term); p> memcpy(amp; cur_term, amp; old_term, sizeof(cur_term));

cur_term.c_cc[VTIME] = 0

ret = tcsetattr(STDIN_FILENO, TCSANOW, amp; ;cur_term);

if (ret lt; 0)

{

printf("No se puede configurar\n");

return 1;

}

printf("¿Estás bien?[Y/n] ");

fflush(stdout); >

ret = read(STDIN_FILENO, amp;ch, 1);

if (ret lt;= 0)

{

printf(" Error\n");

}

else

{

if (ch == 'y' || ch == 'Y' )

{

printf("\nTu elección es SÍ\n");

}

else if ( ch == '\n')

{

printf("No eliges, el valor predeterminado es SÍ\n ");

}

else if (ch == 'n' || ch == 'N')

{

printf("\nTu elección es NO\n");

}

else

{

printf("\n nElección no válida\n");

}

}

}

tcsetattr(STDIN_FILENO, TCSANOW y old_term

devuelve

< p); >}