libreria conio.h

Iniciado por 7emiliosk8, 14 Febrero 2017, 23:36 PM

0 Miembros y 1 Visitante están viendo este tema.

7emiliosk8

Hola tengo una duda de la libreria conio.h, esta corre solo en windows?
lei en una parte que decia que gcc no incluia esta libreria, a que se refiere con eso ?

Hice este codigo pero no me funciona, deberia parar cuando precio ENTER sin embargo sigue pidiendo caracteres :s

#include <stdlib.h>   
#include <conio.h>   
int main()
{
    char c,password[10];
    int i=0;
    while( (c=getch()) != '\n')
    {
        password[i] = c;
        printf("*");
        i++;
    }

    return 0;
}


engel lex

creo que deberías leer un poco más lo que wikipedia tiene que decir sobre C y C++...


conio no es una librería standard, así que a menos de ser necesario no se recomienda su uso

aquí más info
https://es.wikipedia.org/wiki/Biblioteca_estándar_de_C
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

7emiliosk8

Gracias, pero el codigo porque no funciona ?

_Slash_

Cita de: 7emiliosk8 en 14 Febrero 2017, 23:36 PMesta corre solo en windows?

Tu mismo has respondido a tu duda.

Saludos.
Despierta del sueño en el que has estado siempre y date cuenta de la cruda y cruel realidad.

dato000

Cita de: 7emiliosk8 en 14 Febrero 2017, 23:36 PM
Hola tengo una duda de la libreria conio.h, esta corre solo en windows?
lei en una parte que decia que gcc no incluia esta libreria, a que se refiere con eso ?

Hice este codigo pero no me funciona, deberia parar cuando precio ENTER sin embargo sigue pidiendo caracteres :s

#include <stdlib.h>   
#include <conio.h>   
int main()
{
    char c,password[10];
    int i=0;
    while( (c=getch()) != '\n')
    {
        password[i] = c;
        printf("*");
        i++;
    }

    return 0;
}




Intenta con:


    while( (c=getch()) != '\r' && (i < 10) ) //10 es el numero de elementos del arreglo, es decir, la cantidad de caracteres para password
    {
        password[i] = c;
        printf("*");
        i++;
    }


Además es importante resaltar que el arreglo de caracteres termine con '\0', para que sepa que el arreglo tiene un final antes.

     password[i] = '\0';
     printf("%s\n",password);