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 <iostream>#include <cstdlib>intmain(){std::cout<<"This program will exit now."<<std::endl;exit(0);// 正常退出程序return0;// 这行代码不会被执行}
输出结果:
This program will exit now.
实例 2:使用
system
函数
示例代码
#include <iostream>#include <cstdlib>intmain(){std::cout<<"Executing a system command: dir"<<std::endl;system("dir");// 在 Windows 上显示当前目录的文件和文件夹return0;}
输出结果:
Executing a system command: dir
然后显示当前目录的文件和文件夹列表。
实例 3:使用
malloc
和
free
函数
示例代码
#include <iostream>#include <cstdlib>intmain(){int*ptr=(int*)malloc(10*sizeof(int));// 分配内存if(ptr==NULL){std::cout<<"Memory allocation failed."<<std::endl;return1;}for(inti=0;i<10;++i){ptr[i]=i*i;// 使用分配的内存}for(inti=0;i<10;++i){std::cout<<"Element "<<i<<": "<<ptr[i]<<std::endl;}free(ptr);// 释放内存return0;}
输出结果:
Element 0: 0 Element 1: 1 Element 2: 4 ... Element 9: 81
实例 4:使用
atoi
和
atof
函数
示例代码
#include <iostream>#include <cstdlib>intmain(){std::stringstr1="123";std::stringstr2="456.78";intnum1=std::atoi(str1.c_str());// 将字符串转换为整数doublenum2=std::atof(str2.c_str());// 将字符串转换为浮点数std::cout<<"Integer: "<<num1<<std::endl;std::cout<<"Float: "<<num2<<std::endl;return0;}
输出结果:
Integer: 123 Float: 456.78
实例 5:使用
rand
和
srand
函数
示例代码
#include <cstdlib>#include <iostream>#include <ctime>intmain(){std::srand(std::time(nullptr));// 使用当前时间作为随机数种子for(inti=0;i<5;++i){std::cout<<std::rand()%100<<" ";// 生成0到99之间的随机数}std::cout<<std::endl;return0;}
输出结果:
53 22 62 68 62