Ten en cuenta que en la informática un error casi siempre tiene diversas resoluciones, de igual modo aquí te compartimos lo más óptimo y eficiente.
Solución:
No es posible hacerlo utilizando ninguna función estándar de C, ya que el lenguaje C ni siquiera reconoce la presencia de una pantalla.
Con las funciones de la consola API de Windows, puede cambiar los colores, subrayar y algunas otras cosas. La función particular que está buscando se llama SetConsoleTextAttribute tal como en la publicación que vinculó. cambiar su attributes para incluir COMMON_LVB_UNDERSCORE
.
Puede ejecutar su programa en algún entorno con una terminal que acepte códigos de escape ANSI.
(Nunca usé Windows, ya que solo uso Linux, por lo que no sé cómo configurar dicho entorno en Windows; pero escuché que es posible)
Con los códigos de escape ANSI, el subrayado es "e[4m"
con e
siendo el carácter ASCII ESCAPE.