Curso de C++ v2.0
Consultas, lista de correo 'C++ Con Clase' 'C++ Con Clase' página de entrada Librerías estándar C Tabla de contenido Contactar con Webmaster
*Introducción
*1 Toma de contacto
*2 Variables I
*3 Funciones I: Declaración y definición
*4 Operadores I
*5 Sentencias
*6 Declaración de variables
*7 Normas para la notación
*8 Cadenas de caracteres
*9 Conversión de tipos
*10 Variables II: Arrays
*11 Variables III: Estructuras
*12 Variables IV: Punteros 1
*13 Operadores II: Más operadores
*14 Operadores III: Precedencia
*15 Funciones II: Parámetros por valor y referencia
*16 Variables V: Uniones
*17 Variables VI: Punteros 2
*18 Operadores IV: De bits y condicional
*19 Definición de tipos
*20 Funciones III
*21 Funciones IV: Sobrecarga
*22 Operadores V: Sobrecarga
*23 El preprocesador
*24 Funciones V: Recursividad
*25 Variables VII: Modificadores
*26 Espacios con nombre
*27 Clases I: Definiciones
*28 Declaración de clases
*29 Constructores
*30 Destructores
*31 El puntero this
*32 Sistema de protección
*33 Modificadores para miembros
*34 Más sobre funciones
*35 Operadores sobrecargados
*36 Herencia
*37 Funciones virtuales
*38 Derivación múltiple
*39 Trabajar con ficheros
*40 Plantillas
*41 Punteros a miembros
*42 Castings
*43 Excepciones
*Ejemplos capítulos 1 a 6
*Ejemplos capítulos 8 y 9
*A Palabras reservadas C/C++
*B Trigrafos y símbolos alternativos
*C Librerías estándar
 . Librería "iostream"
 . Librería "stdio"
 . Función "printf"
 . Librería "stdlib"
 . Librería "ctype"
 . Librería "string"
*D Streams
<< < > >>

Librería de rutinas de conversión estándar "stdlib"  

En esta librería se incluyen rutinas de conversión entre tipos. Nos permiten convertir cadenas de caracteres a números, números a cadenas de caracteres, números con decimales a números enteros, etc.

Función "atoi()"

Convierte una cadena de caracteres a un entero. Puede leerse como conversión de "ASCII to Integer".

Sintaxis:

int atoi(const char *s); 

La cadena puede tener los siguientes elementos:

  • Opcionalmente un conjunto de tabuladores o espacios.
  • Opcionalmente un carácter de signo.
  • Una cadena de dígitos.

El formato de la cadena de entrada sería: [ws] [sn] [ddd]

El primer carácter no reconocido finaliza el proceso de conversión, no se comprueba el desbordamiento, es decir si el número cabe en un "int". Si no cabe, el resultado queda indefinido.

Valor de retorno:

"atoi" devuelve el valor convertido de la cadena de entrada. Si la cadena no puede ser convertida a un número "int", "atoi" vuelve con 0.

Al mismo grupo pertenecen las funciones "atol" y "atof", que devuelven valores "long int" y "float". Se verán en detalle en otros capítulos.

Función "system()"

Ejecuta un comando del sistema o un programa externo almacenado en disco. Esta función nos será muy útil para detener el programa antes de que termine.

Si compilas los ejemplos, ejercicios o tus propios programas usando un compilador de Windows para consola, como Dev-C++, habrás notado que la consola se cierra cuando el programa termina, antes de que puedas ver los resultados del programa, para evitar eso podemos añadir una llamada a la función system para ejecutar el comando del sistema "pause", que detiene la ejecución hasta que se pulse una tecla. Por ejemplo:

#include <stdlib.h>
#include <iostream>
using namespace std;

int main()
{
   cout << "Hola, mundo." << endl;
   cin.get();
   return 0;
}

De este modo el programa se detiene antes de devolver el control y de que se cierre la consola.

Nota: en este capítulo se menciona el concepto macro.
Una macro es una fórmula definida para el preprocesador. Es un concepto que se estudia en los capítulos 14 y 25. Consiste, básicamente, en una fórmula que se sustituye por su valor antes de compilar un programa, de eso se encarga el preprocesador.
La diferencia principal es que las funciones se invocan, y la ejecución del programa continúa en la dirección de memoria de la función, cuando ésta termina, retorna y la ejecución continúa en el programa que invocó a la función. Con las macros no es así, el código de la macro se inserta por el preprocesador cada vez que es invocada y se compila junto con el resto del programa, eso elimina los saltos, y aumenta el código.
De todos modos, no te preocupes demasiado por estos conceptos, el curso está diseñado para tener una progresión más o menos lineal y estos temas se tratan con detalle más adelante.

Función "abs()"

Devuelve el valor absoluto de un entero.

Sintaxis:

int abs(int x); 

"abs" devuelve el valor absoluto del valor entero de entrada, x. Si se llama a "abs" cuando se ha incluido la librería "stdlib.h", se la trata como una macro que se expandirá. Si se quiere usar la función "abs" en lugar de su macro, hay que incluir la línea:

#undef abs 

en el programa, después de la línea:

#include <stdlib.h>

Esta función puede usarse con "bcd" y con "complejos".

Valor de retorno:

Esta función devuelve un valor entre 0 y el INT_MAX, salvo que el valor de entrada sea INT_MIN, en cuyo caso devolverá INT_MAX. Los valores de INT_MAX e INT_MIN están definidos en el fichero de cabecera "limit.h".

Función "rand()"

Generador de números aleatorios.

Sintaxis:

int rand(void); 

La función "rand" devuelve un número aleatorio entre 0 y RAND_MAX. La constante RAND_MAX está definida en stdlib.h.

Valor de retorno:

"rand" devuelve un número entre 0 y RAND_MAX.

Función "srand()"

Inicializa el generador de números aleatorios.

Sintaxis:

void srand(unsigned semilla); 

La función "srand" sirve para cambiar el origen del generador de números aleatorios.

Valor de retorno:

"srand" no devuelve ningún valor.

<< < > >>