AD

¿Ya dominas lo básico? Un curso estructurado de Objective-C es la vía rápida para dar el salto.

Ver cursos de Objective-C en Udemy

Enlace de afiliado. No te cuesta nada extra.

🍎Lecciones de Objective-C
Lección 58 / 68

Leer un valor de la entrada estándar

En esta lección pedirás un dato mientras el programa se ejecuta.

Se usan funciones de C: printf muestra el mensaje sin salto de línea y fgets lee una línea. strcspn localiza el salto de línea final para cortarlo.

El código de ejemplo pide un nombre y saluda. La salida de referencia incluye lo que se escribió, tal como se vería en la terminal.

Esa línea de strcspn es imprescindible: fgets conserva el salto de línea dentro del texto leído. Sin quitarlo, el saludo saldría partido en dos líneas y cualquier comparación fallaría sin motivo aparente.

fgets se usa en lugar de gets porque recibe el tamaño del búfer y no escribe más allá. gets era tan peligroso que se eliminó del estándar de C — fue la vía de entrada de gusanos informáticos famosos.

Hay un detalle sobre el orden de la salida: printf escribe por la salida estándar y NSLog por la de errores, y cuando la salida no es un terminal los dos flujos pueden aparecer desordenados. En la terminal se ve como aquí.

Esto solo tiene sentido en programas de terminal: una aplicación de iPhone recibe los datos de campos de texto.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Objective-C directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)