Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema con bibliotecas en C

Estas en el tema de Problema con bibliotecas en C en el foro de C/C++ en Foros del Web. Estoy empezando a aprender a programar en C/C++, y para ello estoy siguiendo varios tutoriales que me he encontrado por ahí. Para programar uso el ...
  #1 (permalink)  
Antiguo 14/12/2006, 08:08
 
Fecha de Ingreso: diciembre-2005
Ubicación: Redondela (Galicia)
Mensajes: 368
Antigüedad: 18 años, 4 meses
Puntos: 1
Problema con bibliotecas en C

Estoy empezando a aprender a programar en C/C++, y para ello estoy siguiendo varios tutoriales que me he encontrado por ahí. Para programar uso el Dev-C++ con su compilador por defecto en Windows (no se cual es, la verdad...) y el g++ en GNU/Linux.

Mi problema está en las bibliotecas... no se cómo conseguir las que me faltan, si es que el problema es que me faltan bibliotecas... :S

Por ejemplo, este código compila con g++

Código:
#include <stdio.h>
#include <stdlib.h>
int main(){
	for(;;){
		printf("%d\n", random());
		system("sleep 1");
	}
	return 0;
}
pero con el compilador del Dev-C++ no, dice que no conoce la función random...

¿Por qué sucede esto?

Peor aún con las funciónes max y min, que el tutorial dice que pertenecen a stdlib.h pero no las reconoce ni en Linux ni en Windows... :S
  #2 (permalink)  
Antiguo 14/12/2006, 11:32
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Re: Problema con bibliotecas en C

Dudo muy mucho que "man" te diga que random() es de stdlib.h, puesto que no existe en ANSI-C.

La función que buscas es rand() Y sí, está en stdlib.h:

Código:
F:\>man random
No manual entry for random

F:\>man rand

RAND(3)                             NEWLIB                             RAND(3)

NAME
       2.29 `rand', `srand'--pseudo-random numbers

SYNOPSIS
            #include <stdlib.h>
            int rand(void);
            void srand(unsigned int SEED);
            int rand_r(unsigned int *SEED);

DESCRIPTION
       `rand' returns a different integer each time it is called; each integer
       is chosen by an algorithm designed to be unpredictable, so that you can
       use  `rand' when you require a random number.  The algorithm depends on
       a static variable called the "random seed"; starting with a given value
       of the random seed always produces the same sequence of numbers in suc-
       cessive calls to `rand'.

          You can set the random seed using `srand'; it  does  nothing  beyond
       storing  its  argument  in the static variable used by `rand'.  You can
       exploit this to make the pseudo-random sequence  less  predictable,  if
       you wish, by using some other unpredictable value (often the least sig-
       nificant parts of a time-varying  value)  as  the  random  seed  before
       beginning a sequence of calls to `rand'; or, if you wish to ensure (for
       example, while debugging) that successive runs of your program use  the
       same  "random" numbers, you can use `srand' to set the same random seed
       at the outset.

RETURNS
       `rand' returns the next pseudo-random integer in sequence; it is a num-
       ber between `0' and `RAND_MAX' (inclusive).

          `srand' does not return a result.

PORTABILITY
       `rand'  is required by ANSI, but the algorithm for pseudo-random number
       generation is not specified; therefore, even if you use the same random
       seed,  you  cannot expect the same sequence of results on two different
       systems.

          `rand' requires no supporting OS subroutines.

SEE ALSO
       rand is part of the libc library.  The full documentation for  libc  is
       maintained  as  a  Texinfo  manual.   If  info  and  libc  are properly
       installed at your site, the command

              info libc

       will give you access to the complete manual.

Última edición por MaxExtreme; 14/12/2006 a las 11:40
  #3 (permalink)  
Antiguo 15/12/2006, 08:31
 
Fecha de Ingreso: diciembre-2005
Ubicación: Redondela (Galicia)
Mensajes: 368
Antigüedad: 18 años, 4 meses
Puntos: 1
Re: Problema con bibliotecas en C

Cita:
Dudo muy mucho que "man" te diga que random() es de stdlib.h, puesto que no existe en ANSI-C
:S yo no he comentado que man me haya dicho nada... :S ni siquiera sabía que man sirviese para eso.

Pero de todas formas lo he probado, y tanto man random como man rand me devuelven resultados...
  #4 (permalink)  
Antiguo 15/12/2006, 11:41
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Re: Problema con bibliotecas en C

Cita:
Iniciado por Sanva Ver Mensaje
:S yo no he comentado que man me haya dicho nada... :S ni siquiera sabía que man sirviese para eso.

Pero de todas formas lo he probado, y tanto man random como man rand me devuelven resultados...
Perdona, tu última frase la lei corriendo y entendí mal lo de "max".

Bueno eso, rand().
  #5 (permalink)  
Antiguo 15/12/2006, 16:47
 
Fecha de Ingreso: diciembre-2005
Ubicación: Redondela (Galicia)
Mensajes: 368
Antigüedad: 18 años, 4 meses
Puntos: 1
Re: Problema con bibliotecas en C

Por cierto... me gustaría saber si sabes dónde encontrar algo como el manual de PHP pero para C/C++. Es decir, una especie de diccionario donde aparezcan funciones para C/C++, una breve (o quizá no tan breve) explicación de para qué sirven y sus argumentos, y la librería a la que pertenecen... ¿Existe algo así? En PHP es bastante fácil encontrar información de este tipo... pero en C/C++ se me complica la cosa :S
  #6 (permalink)  
Antiguo 15/12/2006, 17:39
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 21 años, 2 meses
Puntos: 22
Re: Problema con bibliotecas en C

Que tal Sanva:

cppreference.com/
cplusplus.com/ref/indexr.html

Aunque de cierta manera es fácil tambien encontrar esto, todo depende de la manera en que se busque.

P.D Solo agrega el www a las ligas si hace falta.

Saludos.
  #7 (permalink)  
Antiguo 15/12/2006, 18:51
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Re: Problema con bibliotecas en C

Cita:
Iniciado por Sanva Ver Mensaje
Por cierto... me gustaría saber si sabes dónde encontrar algo como el manual de PHP pero para C/C++. Es decir, una especie de diccionario donde aparezcan funciones para C/C++, una breve (o quizá no tan breve) explicación de para qué sirven y sus argumentos, y la librería a la que pertenecen... ¿Existe algo así? En PHP es bastante fácil encontrar información de este tipo... pero en C/C++ se me complica la cosa :S
Una ayuda es precisamente la página 3 del man. Ejemplo:

Código:
$ man 3 rand
Contiene toda la documentación acerca de la libc así como de toda la "API" de Linux.
  #8 (permalink)  
Antiguo 15/12/2006, 18:55
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: Problema con bibliotecas en C

Vale, para las funciones estandar de C tendrias que leer sobre el lenguaje C en si.
Mas especificamente busca un poco de stdio.h, stdlib.h, string.g y cosas asi, que inicien con std.
No intentes aprenderte las funciones, solo verifica que existen, cuales son y cuando las tengas que utilizar entonces si las estudias.

Saludos
  #9 (permalink)  
Antiguo 15/12/2006, 18:57
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Re: Problema con bibliotecas en C

Cita:
Iniciado por Instru Ver Mensaje
No intentes aprenderte las funciones, solo verifica que existen, cuales son y cuando las tengas que utilizar entonces si las estudias.
De tanto usarlas se memorizan solas :P
  #10 (permalink)  
Antiguo 15/12/2006, 20:59
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: Problema con bibliotecas en C

Asi es. Ese es el punto. No aprenderlas porque si, sino por el uso que se le den.

Por ejemplo strtok solo la use en un proyecto y pues ahorita no me acuerdo su modo de funcionar, pero le busco un poco en google o en la msdn y con eso tengo toda la informacion necesaria para sacarle el provecho.

Saludos
  #11 (permalink)  
Antiguo 16/12/2006, 04:22
 
Fecha de Ingreso: diciembre-2005
Ubicación: Redondela (Galicia)
Mensajes: 368
Antigüedad: 18 años, 4 meses
Puntos: 1
Re: Problema con bibliotecas en C

Cita:
De tanto usarlas se memorizan solas :P
Totalmente de acuerdo :P

Gracias a todos, veré los enlaces esos que me pasas, fightmx, y comparto con vosotros este que me encontré y que me parece francamente bueno:

http://www.gotapi.com
  #12 (permalink)  
Antiguo 16/12/2006, 10:21
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: Problema con bibliotecas en C

Jajaja. Para aprender, hay muchos enlazes en las faqs.
ahi encontraras de todo.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:38.