Título: [C] Como hacer un buffer FIFO? Publicado por: huchoko en 30 Diciembre 2018, 19:17 pm Pues estoy haciendo un driver de teclado, y necesito una cola o mejor dicho buffer de tipo FIFO (First in, First out) en el cual pueda insertar y quitar elementos de la lista. En sí, tiene que ser de tipo char.
Saludos. Título: Re: [C] Como hacer un buffer FIFO? Publicado por: MAFUS en 31 Diciembre 2018, 00:20 am Crea un array de dimensión conocida el cual tenga dos punteros: lectura, i y ecritura, o.
Genera dos únicas funciones que serán las que trabajaran con ese array: una de lectura y una de escritura. Función de lectura: Si el puntero o es igual al puntero i (las posiciones a las que apuntan) el buffer está vacío y deberás informar sobre ello; en caso contrario leerás el carácter que hay en la posición o y lo harás avanzar una posición. Si o queda fuera del array, o pasa a apuntar el principio del array. Devuelves el carácter leído. La función de escritura: Guardarás en la posición i el carácter conseguido y compruebas si en la siguiente posición está o. Si lo está avisar de ello, sino avanzar o a la siguiente posición. Por supuesto si la siguiente posición está fuera del array mover i al inicio del array. |