
29/05/2014, 16:34
|
| | Fecha de Ingreso: mayo-2014
Mensajes: 4
Antigüedad: 10 años, 9 meses Puntos: 0 | |
Respuesta: Contar carateres Si "Drewermerc", a eso me refería, muchas gracias. Poniendo aún más sencillo el código veo que puede funcionar sin la declaración "char c", y colocando solo "getchar() != '\n'" en el argumento de "while". Así estaría lo más cercano al ejercicio que está propuesto en el libro que estoy estudiando. En pocas palabras la única modificación para que funcione es cambiar "EOF" por "\n" en el argumento de while.
Ya entiendo "vangodp" que el EOF se genera cuando finaliza un archivo de texto. Estaba muy confundido porque en el libro explica este ejercicio sin explicar cómo se usa el getchar para leer una entrada en forma de archivo. O será que cuando el autor escribió el libro, en esos tiempos al presionar ENTER equivalía a un EOF ? O será que el sistema operativo que el autor usaba funcionaba de esa forma? El libro se llama "El Lenguaje de Programación C", segunda y última edición, escrito por Brian Kernighan y Dennis Ritchie. Este libro fue escrito en el año 1988. Todos sabemos que Dennis Ritchie es el padre, creador de este lenguaje. Aquí en este enlace les dejo el fragmento del libro donde se encuentra mi duda, especificamente lo que dice el penúltimo párrafo: http://paste.ubuntu.com/7547072/
Con respecto a "vosk". No sabía lo de "CTRL + Z", y ciertamente funciona, pero para que me de el resultado correcto el valor de "nc" tendría que ser "-1" para que me ignore el último ciclo que hace por CTRL + Z. Es decir, ya van 2 soluciones, esta segunda es solo modificando en el código el valor de la inicialización de while de "0" a "-1". Ahora que dices que no se puede concatenar el "CTRL + Z" al último carácter, en ese fragmento del libro dice lo siguiente: "No se puede utilizar char puesto que c debe ser suficientemente grande como para mantener a EOF además de cualquier otro carácter. Por lo tanto se emplea int". Entonces ahí vuelvo a lo mismo, el autor (Dennis Ritchie) se está refiriendo solo al uso de getchar con un archivo como entrada, o se está refiriendo a la entrada por teclado? Si la respuesta es esté último, por qué a él el getchar si le generaba un EOF y a mi no? Será por el sistema operativo? O por el tipo de computadora que usaba? O será que estoy nadando en un vaso de agua y ya esto está resuelto? |