Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: 7emiliosk8 en 14 Febrero 2017, 23:36 pm



Título: libreria conio.h
Publicado por: 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

Código
  1. #include <stdlib.h>  
  2. #include <conio.h>  
  3. int main()
  4. {
  5.    char c,password[10];
  6.    int i=0;
  7.    while( (c=getch()) != '\n')
  8.    {
  9.        password[i] = c;
  10.        printf("*");
  11.        i++;
  12.    }
  13.  
  14.    return 0;
  15. }


Título: Re: libreria conio.h
Publicado por: engel lex en 14 Febrero 2017, 23:46 pm
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 (https://es.wikipedia.org/wiki/Biblioteca_estándar_de_C)


Título: Re: libreria conio.h
Publicado por: 7emiliosk8 en 15 Febrero 2017, 16:42 pm
Gracias, pero el codigo porque no funciona ?


Título: Re: libreria conio.h
Publicado por: _Slash_ en 15 Febrero 2017, 18:05 pm
esta corre solo en windows?

Tu mismo has respondido a tu duda.

Saludos.


Título: Re: libreria conio.h
Publicado por: dato000 en 15 Febrero 2017, 18:50 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

Código
  1. #include <stdlib.h>  
  2. #include <conio.h>  
  3. int main()
  4. {
  5.    char c,password[10];
  6.    int i=0;
  7.    while( (c=getch()) != '\n')
  8.    {
  9.        password[i] = c;
  10.        printf("*");
  11.        i++;
  12.    }
  13.  
  14.    return 0;
  15. }



Intenta con:

Código
  1.    while( (c=getch()) != '\r' && (i < 10) ) //10 es el numero de elementos del arreglo, es decir, la cantidad de caracteres para password
  2.    {
  3.        password[i] = c;
  4.        printf("*");
  5.        i++;
  6.    }
  7.  

Además es importante resaltar que el arreglo de caracteres termine con '\0', para que sepa que el arreglo tiene un final antes.
Código
  1.     password[i] = '\0';
  2.     printf("%s\n",password);
  3.