He probado la solución que me diste, no la entendí muy bien ya que soy novato en esto de c, pero no funciona, seguía sin dejarme teclear más de ciento y pico letras. Tambien he probado a hacer un bucle con getche, funciona pero cuando borro texto el cursor se desplaza a la izquierda sin borrar de la pantalla las últimas letras, he probado a introducir un "printf(" b");" que borra el caracter y retrocede, hasta aquí bien, pero esta última instrucción me da problemas cuando continua el programa, aunque guarda el texto correctamente, no lo entiendo. De todas formas creo que lo del bucle no es la forma más correcta de hacerlo.
He notado que en el shell de DOS, tampoco puedes meter más de ciento y pico letras, ¿Puede tener algo que ver?.
Bueno, gracias de todas formas por la respuesta tan rápida, si encontrases alguna otra solución dímela si puede ser.
Ha!, el programa funciona bien y estoy orgulloso de él, me ha costado lo suyo, pero tiene esta pega.
te dejo una muestra de como lo hago sin el bucle a ver si encuentras algún error:
char texto[1000];
main()
{
gets(texto);
y sigue...
}:question: