Стандартная библиотека C++ <cstdlib>
<cstdlib>Является заголовочным файлом в стандартной библиотеке C++, предоставляющим различные общие служебные функции, включая выделение памяти, управление процессами, запросы к среде, сортировку и поиск, математические преобразования, генерацию псевдослучайных чисел и т. д. Эти функции изначально происходят из стандартной библиотеки C.<stdlib.h>, стандартизированы и расширены в C++.
Синтаксис
В программах на C++, чтобы использоватьcstdlibфункции в ней, необходимо сначала подключить этот заголовочный файл:
#include <cstdlib>
Общие функции
cstdlibсодержит множество полезных функций. Ниже приведены некоторые часто используемые функции и их краткие описания:
exit(int status): Завершает выполнение программы и возвращает код состояния.system(const char* command): Выполняет строку командной строки.malloc(size_t size): Выделяет память указанного размера.free(void* ptr): Освобождает ранее выделенную память.atoi(const char* str): Преобразует строку в целое число.atof(const char* str): Преобразует строку в число с плавающей запятой.rand(): Генерирует случайное число.srand(unsigned int seed): Устанавливает начальное значение для генератора случайных чисел.
Пример
Ниже приведены некоторые примеры использованияcstdlibфункций в:
Пример 1: ИспользованиеexitФункция
Пример
#include <cstdlib>
int main() {
std::cout << "Эта программа сейчас завершится." << std::endl;
exit(0); // Нормальное завершение программы
return 0; // Эта строка кода не будет выполнена
}
Результат вывода:
This program will exit now.
Пример 2: ИспользованиеsystemФункция
Пример
#include <cstdlib>
int main() {
std::cout << "Выполнение системной команды: dir" << std::endl;
system("dir"); // Отображение файлов и папок в текущем каталоге в Windows
return 0;
}
Результат вывода:
Executing a system command: dir
Затем выводится список файлов и папок в текущем каталоге.
Пример 3: ИспользованиеmallocиfreeФункция
Пример
#include <cstdlib>
int main() {
int* ptr = (int*)malloc(10 * sizeof(int)); // Выделение памяти
if (ptr == NULL) {
std::cout << "Не удалось выделить память." << std::endl;
return 1;
}
for (int i = 0; i < 10; ++i) {
ptr[i] = i * i; // Использовать выделенную память
}
for (int i = 0; i < 10; ++i) {
std::cout << "Элемент " << i << ": " << ptr[i] << std::endl;
}
free(ptr); // освободить память
return 0;
}
Результат вывода:
Element 0: 0 Element 1: 1 Element 2: 4 ... Element 9: 81
Пример 4: ИспользованиеatoiиatofФункция
Пример
#include <cstdlib>
int main() {
std::string str1 = "123";
std::string str2 = "456.78";
int num1 = std::atoi(str1.c_str()); // Преобразовать строку в целое число
double num2 = std::atof(str2.c_str()); // Преобразовать строку в число с плавающей точкой
std::cout << "Целое: " << num1 << std::endl;
std::cout << "С плавающей точкой: " << num2 << std::endl;
return 0;
}
Результат вывода:
Integer: 123 Float: 456.78
Пример 5: ИспользованиеrandиsrandФункция
Пример
#include <iostream>
#include <ctime>
int main() {
std::srand(std::time(nullptr)); // Использовать текущее время как начальное значение для генератора случайных чисел
for (int i = 0; i < 5; ++i) {
std::cout << std::rand() % 100 << " "; // Сгенерировать случайное число от 0 до 99
}
std::cout << std::endl;
return 0;
}
Результат вывода:
53 22 62 68 62Другие расширения