.. _console_getline_sample:

console_getline() Sample Application
####################################

Overview
********

This example shows how to use :c:func:`console_getline` function.
Similar to the well-known ANSI C gets() and fgets() functions,
:c:func:`console_getline` either returns the next available input
line or blocks waiting for one. Using this function, it should be fairly
easy to port existing ANSI C, POSIX, or Linux applications which process
console input line by line. The sample also allows to see details of how
a line is returned by the function.

If you are interested in character by character console input, see
:ref:`console_getchar_sample`.


Requirements
************

UART console is required to run this sample.


Building and Running
********************

The easiest way to run this sample is using QEMU:

.. zephyr-app-commands::
   :zephyr-app: samples/subsys/console/getline
   :host-os: unix
   :board: qemu_x86
   :goals: run
   :compact:

Now start pressing keys on a keyboard, followed by Enter. The input line
will be printed back, with a hex code of the last character, to show that
line does not include any special "end of line" characters (like LF, CR,
etc.)
Exit QEMU by pressing :kbd:`CTRL+A` :kbd:`x`.
