Hola buenas. Estoy haciendo un chat básico y preparando el interface(Msdos) me falla al escribir varias cadenas. Concretamente mas de 21. Aver si alguien le puede echar un vistazo y decrme de que fallo se trata. Ahí va el código:
#include <stdio.h>
int main() {
char tecla;
char cadena[80];
int i=0,j=23;
clrscr();
gotoxy( 1, j+1 );
cprintf("--------------------------------------------------------------------------------");
gotoxy( 1, j+2 );
while (1)
{
if (kbhit())
{
tecla=getch();
if (tecla==27) break;
else if ((tecla==13) || (i==80))
{
while (i<80)
{
cadena[i]=' ';
i++;
}
j++;
gotoxy(1,j);
printf("%s",cadena);
for (i=0;i<80;i++) cadena[i]=' ';
i=0;
gotoxy( 1, j+1 );
cprintf("--------------------------------------------------------------------------------");
gotoxy( 1, j+2 );
}
else
{
cadena[i]=tecla;
i++;
printf("%c",tecla);
}
}
}
return 0;
}
Gracias de antemano.