Bibliothèque standard C++ <cstdlib>

<cstdlib>Est un fichier d'en-tête de la bibliothèque standard C++, fournissant diverses fonctions utilitaires générales, notamment l'allocation de mémoire, le contrôle des processus, les requêtes d'environnement, le tri et la recherche, les conversions mathématiques, la génération de nombres pseudo-aléatoires, etc. Ces fonctions proviennent à l'origine de la bibliothèque standard C.<stdlib.h>, normalisées et étendues en C++.

Syntaxe

Dans les programmes C++, pour utilisercstdlibles fonctions qu'il contient, vous devez d'abord inclure ce fichier d'en-tête :

#include <cstdlib>

Fonctions courantes

cstdlibcontient de nombreuses fonctions utiles. Voici quelques fonctions couramment utilisées et leurs brèves descriptions :

  1. exit(int status): termine l'exécution du programme et renvoie un code d'état.
  2. system(const char* command): Exécute une chaîne de ligne de commande.
  3. malloc(size_t size): Alloue de la mémoire de la taille spécifiée.
  4. free(void* ptr): Libère la mémoire précédemment allouée.
  5. atoi(const char* str): Convertit une chaîne en entier.
  6. atof(const char* str): Convertit une chaîne en nombre à virgule flottante.
  7. rand(): Génère un nombre aléatoire.
  8. srand(unsigned int seed): Définit la graine du générateur de nombres aléatoires.

Exemple

Voici quelques exemples d'utilisation decstdlibfonctions dans :

Exemple 1 : Utilisation deexitFonction

Exemple

#include <iostream>
#include <cstdlib>

int main() {
    std::cout << "Ce programme va maintenant se terminer." << std::endl;
    exit(0); // Quitter le programme normalement
    return 0; // Cette ligne de code ne sera pas exécutée
}

Résultat de sortie :

This program will exit now.

Exemple 2 : Utilisation desystemFonction

Exemple

#include <iostream>
#include <cstdlib>

int main() {
    std::cout << "Exécution d'une commande système : dir" << std::endl;
    system("dir"); // Afficher les fichiers et dossiers dans le répertoire courant sous Windows
    return 0;
}

Résultat de sortie :

Executing a system command: dir

Affichez ensuite la liste des fichiers et dossiers dans le répertoire courant.

Exemple 3 : Utilisation demallocetfreeFonction

Exemple

#include <iostream>
#include <cstdlib>

int main() {
    int* ptr = (int*)malloc(10 * sizeof(int)); // Allouer de la mémoire
    if (ptr == NULL) {
        std::cout << "Échec de l'allocation mémoire." << std::endl;
        return 1;
    }

    for (int i = 0; i < 10; ++i) {
        ptr[i] = i * i; // Utiliser la mémoire allouée
    }

    for (int i = 0; i < 10; ++i) {
        std::cout << "Élément " << i << ": " << ptr[i] << std::endl;
    }

    free(ptr); // libérer la mémoire
    return 0;
}

Résultat de sortie :

Element 0: 0
Element 1: 1
Element 2: 4
...
Element 9: 81

Exemple 4 : UtilisationatoietatofFonction

Exemple

#include <iostream>
#include <cstdlib>

int main() {
    std::string str1 = "123";
    std::string str2 = "456.78";

    int num1 = std::atoi(str1.c_str()); // Convertir une chaîne en entier
    double num2 = std::atof(str2.c_str()); // Convertir une chaîne en nombre à virgule flottante

    std::cout << "Entier : " << num1 << std::endl;
    std::cout << "Flottant : " << num2 << std::endl;
    return 0;
}

Résultat de sortie :

Integer: 123
Float: 456.78

Exemple 5 : Utilisation derandetsrandFonction

Exemple

#include <cstdlib>
#include <iostream>
#include <ctime>

int main() {
    std::srand(std::time(nullptr));  // Utiliser l'heure actuelle comme graine de nombres aléatoires
    for (int i = 0; i < 5; ++i) {
        std::cout << std::rand() % 100 << " ";  // Générer un nombre aléatoire entre 0 et 99
    }
    std::cout << std::endl;

    return 0;
}

Résultat de sortie :

53 22 62 68 62 
autres extensions