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 :
exit(int status): termine l'exécution du programme et renvoie un code d'état.system(const char* command): Exécute une chaîne de ligne de commande.malloc(size_t size): Alloue de la mémoire de la taille spécifiée.free(void* ptr): Libère la mémoire précédemment allouée.atoi(const char* str): Convertit une chaîne en entier.atof(const char* str): Convertit une chaîne en nombre à virgule flottante.rand(): Génère un nombre aléatoire.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 <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 <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 <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 <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 <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 62autres extensions