
- C 標準庫
- C 標準庫
- C++ 標準庫
- C++ 庫 - 首頁
- C++ 庫 - <fstream>
- C++ 庫 - <iomanip>
- C++ 庫 - <ios>
- C++ 庫 - <iosfwd>
- C++ 庫 - <iostream>
- C++ 庫 - <istream>
- C++ 庫 - <ostream>
- C++ 庫 - <sstream>
- C++ 庫 - <streambuf>
- C++ 庫 - <atomic>
- C++ 庫 - <complex>
- C++ 庫 - <exception>
- C++ 庫 - <functional>
- C++ 庫 - <limits>
- C++ 庫 - <locale>
- C++ 庫 - <memory>
- C++ 庫 - <new>
- C++ 庫 - <numeric>
- C++ 庫 - <regex>
- C++ 庫 - <stdexcept>
- C++ 庫 - <string>
- C++ 庫 - <thread>
- C++ 庫 - <tuple>
- C++ 庫 - <typeinfo>
- C++ 庫 - <utility>
- C++ 庫 - <valarray>
- C++ STL 庫
- C++ 庫 - <array>
- C++ 庫 - <bitset>
- C++ 庫 - <deque>
- C++ 庫 - <forward_list>
- C++ 庫 - <list>
- C++ 庫 - <map>
- C++ 庫 - <multimap>
- C++ 庫 - <queue>
- C++ 庫 - <priority_queue>
- C++ 庫 - <set>
- C++ 庫 - <stack>
- C++ 庫 - <unordered_map>
- C++ 庫 - <unordered_set>
- C++ 庫 - <vector>
- C++ 庫 - <algorithm>
- C++ 庫 - <iterator>
- C++ 高階庫
- C++ 庫 - <any>
- C++ 庫 - <barrier>
- C++ 庫 - <bit>
- C++ 庫 - <chrono>
- C++ 庫 - <cinttypes>
- C++ 庫 - <clocale>
- C++ 庫 - <condition_variable>
- C++ 庫 - <coroutine>
- C++ 庫 - <cstdlib>
- C++ 庫 - <cstring>
- C++ 庫 - <cuchar>
- C++ 庫 - <charconv>
- C++ 庫 - <cfenv>
- C++ 庫 - <cmath>
- C++ 庫 - <ccomplex>
- C++ 庫 - <expected>
- C++ 庫 - <format>
- C++ 庫 - <future>
- C++ 庫 - <flat_set>
- C++ 庫 - <flat_map>
- C++ 庫 - <filesystem>
- C++ 庫 - <generator>
- C++ 庫 - <initializer_list>
- C++ 庫 - <latch>
- C++ 庫 - <memory_resource>
- C++ 庫 - <mutex>
- C++ 庫 - <mdspan>
- C++ 庫 - <optional>
- C++ 庫 - <print>
- C++ 庫 - <ratio>
- C++ 庫 - <scoped_allocator>
- C++ 庫 - <semaphore>
- C++ 庫 - <source_location>
- C++ 庫 - <span>
- C++ 庫 - <spanstream>
- C++ 庫 - <stacktrace>
- C++ 庫 - <stop_token>
- C++ 庫 - <syncstream>
- C++ 庫 - <system_error>
- C++ 庫 - <string_view>
- C++ 庫 - <stdatomic>
- C++ 庫 - <variant>
- C++ STL 庫速查表
- C++ STL - 速查表
C++ 庫 - <cstdlib>
C++中的<cstdlib>庫提供了各種用於執行常見操作的函式,例如記憶體管理、隨機數管理和字串轉換。它是C標準庫的一部分,在處理低階操作時非常有用。
在C++中,當與C風格的操作互動或處理低階記憶體管理時,使用<cstdlib>。雖然C++有自己的記憶體分配和型別轉換替代方案,但<cstdlib>提供的函式在某些情況下仍然被廣泛使用。
包含<cstdlib>標頭檔案
要在你的C++程式中包含<cstdlib>標頭檔案,可以使用以下語法。
#include <cstdlib>
<cstdlib>標頭檔案的函式
以下是<cstdlib>標頭檔案中所有函式的列表。
字串轉換
這些函式用於將字串(C風格字串)轉換為數值,例如整數和浮點數,或將數字轉換為字串。常用的C++ <cstdlib>字串轉換函式如下所示,以及它們的描述。
序號 | 函式及描述 |
---|---|
1 | atof
它將字串轉換為浮點值。 |
2 | atoi & atol & atoll
它將字串轉換為整數值。 |
3 | strtoul & strtoull
它將字串轉換為無符號整數值。 |
4 | strtof & strtod & strtold
它將字串轉換為浮點值。 |
字串到整數轉換
在下面的示例中,我們將使用atoi將字串轉換為整數。
#include <iostream> #include <cstdlib> int main() { const char * x = "11123"; int y = std::atoi(x); std::cout << "Result : " << y << std::endl; return 0; }
輸出
以上程式碼的輸出如下:
Result : 11123
程序控制
這些函式用於管理和控制程式執行。它們包括程式終止、環境操作和程序處理等操作。常用的C++ <cstdlib>程序控制函式如下所示,以及它們的描述。
序號 | 函式及描述 |
---|---|
1 | abort
它導致程式終止。 |
2 | exit
它導致程式終止並進行清理。 |
3 | atexit
它註冊一個將在exit()呼叫時呼叫的函式。 |
4 | quick_exit
它導致程式終止,但不完全清理。 |
5 | at_quick_exit
它註冊一個將在quick_exit()呼叫時呼叫的函式。 |
6 | _Exit
它用於終止呼叫程序。 |
終止程式
讓我們看下面的例子,我們將立即終止程式。
#include <cstdlib> #include <iostream> int main() { std::cout << "Program Started" << std::endl; if (true) { std::cout << "Exiting Program..." << std::endl; std::exit(0); } std::cout << "Hello" << std::endl; return 0; }
輸出
以下是以上程式碼的輸出:
Program Started Exiting Program..
記憶體管理
記憶體管理是指分配和釋放記憶體的過程。常用的C++ <cstdlib>記憶體管理函式如下所示,以及它們的描述。
序號 | 函式及描述 |
---|---|
1 | calloc
它用於為陣列分配記憶體並將所有元素初始化為零。 |
2 | free
它用於釋放之前分配的記憶體。 |
3 | malloc
它用於分配記憶體。 |
4 | realloc
它用於擴充套件或縮小之前分配的記憶體。 |
記憶體分配
考慮下面的例子,我們將動態地分配一塊記憶體。
#include <iostream> #include <cstdlib> int main() { int * x = (int * ) std::malloc(4 * sizeof(int)); if (x == nullptr) { std::cerr << "Memory Allocation Failed." << std::endl; return 1; } for (int a = 0; a < 4; ++a) { x[a] = a * 2; std::cout << x[a] << " "; } std::cout << std::endl; std::free(x); return 0; }
輸出
如果我們執行上面的程式碼,它將生成以下輸出:
0 2 4 6