山东智趣岛论坛

 找回密码
 立即注册
查看: 196|回复: 0
打印 上一主题 下一主题

C++常用函数及功能

[复制链接]
8888888

103

主题

105

帖子

1019万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
10197582

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主论坛元老

跳转到指定楼层
楼主
发表于 2025-2-15 11:40:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[size=16.002px]以下是C++中常用函数及其功能的表格,附带简单的案例说明:

输入输出函数
函数名
功能描述
示例代码

cin
从标准输入读取数据int x; cin >> x; // 从键盘输入一个整数
cout
向标准输出写入数据cout << "Hello, World!"; // 输出 "Hello, World!"
cerr
向标准错误输出写入数据cerr << "Error occurred!"; // 输出错误信息
clog
向标准日志输出写入数据clog << "Log message"; // 输出日志信息
数学函数
函数名
功能描述
示例代码

sqrt()
计算平方根double x = sqrt(16); // x = 4.0
pow()
计算幂次方double x = pow(2, 3); // x = 8.0
abs()
计算绝对值int x = abs(-10); // x = 10
sin()
计算正弦值double x = sin(3.14 / 2); // x ≈ 1.0
cos()
计算余弦值double x = cos(0); // x = 1.0
tan()
计算正切值double x = tan(3.14 / 4); // x ≈ 1.0
log()
计算自然对数double x = log(2.718); // x ≈ 1.0
log10()
计算以10为底的对数double x = log10(100); // x = 2.0
ceil()
向上取整double x = ceil(3.2); // x = 4.0
floor()
向下取整double x = floor(3.9); // x = 3.0
round()
四舍五入double x = round(3.5); // x = 4.0
字符串函数
函数名
功能描述
示例代码

strlen()
计算字符串长度const char* str = "Hello"; int len = strlen(str); // len = 5
strcpy()
复制字符串char dest[10]; strcpy(dest, "Hello"); // dest = "Hello"
strcat()
连接字符串char dest[10] = "Hello"; strcat(dest, "World"); // dest = "HelloWorld"
strcmp()
比较字符串int result = strcmp("Hello", "World"); // result < 0
strstr()
查找子串const char* str = "Hello World"; char* result = strstr(str, "World"); // result指向 "World"
toupper()
将字符转换为大写char c = toupper('a'); // c = 'A'
tolower()
将字符转换为小写char c = tolower('A'); // c = 'a'
内存管理函数
函数名
功能描述
示例代码

malloc()
分配内存int* arr = (int*)malloc(5 * sizeof(int)); // 分配 5 个整数的内存
calloc()
分配并初始化内存int* arr = (int*)calloc(5, sizeof(int)); // 分配并初始化为 0
realloc()
重新分配内存arr = (int*)realloc(arr, 10 * sizeof(int)); // 重新分配为 10 个整数
free()
释放内存free(arr); // 释放内存
new
动态分配内存(C++)int* p = new int; *p = 10; // 分配一个整数
delete
释放动态分配的内存(C++)delete p; // 释放内存
算法函数
函数名
功能描述
示例代码

sort()
对数组或容器排序int arr[] = {3, 1, 2}; sort(arr, arr + 3); // arr = {1, 2, 3}
find()
查找元素vector<int> vec = {1, 2, 3}; auto it = find(vec.begin(), vec.end(), 2); // it指向 2
binary_search()
二分查找vector<int> vec = {1, 2, 3}; bool found = binary_search(vec.begin(), vec.end(), 2); // found = true
reverse()
反转数组或容器vector<int> vec = {1, 2, 3}; reverse(vec.begin(), vec.end()); // vec = {3, 2, 1}
copy()
复制数组或容器int src[] = {1, 2, 3}; int dest[3]; copy(src, src + 3, dest); // dest = {1, 2, 3}
fill()
填充数组或容器vector<int> vec(3); fill(vec.begin(), vec.end(), 10); // vec = {10, 10, 10}
时间函数
函数名
功能描述
示例代码

time()
获取当前时间戳time_t now = time(0); // 获取当前时间
ctime()
将时间戳转换为字符串time_t now = time(0); cout << ctime(&now); // 输出当前时间字符串
clock()
获取程序运行的时钟周期数clock_t start = clock(); // 获取开始时间
difftime()
计算两个时间戳的差值time_t start = time(0); sleep(2); time_t end = time(0); double diff = difftime(end, start); // diff = 2.0
文件操作函数
函数名
功能描述
示例代码

fopen()
打开文件FILE* file = fopen("test.txt", "r"); // 以只读模式打开文件
fclose()
关闭文件fclose(file); // 关闭文件
fprintf()
向文件写入格式化数据fprintf(file, "%d", 10); // 写入整数 10
fscanf()
从文件读取格式化数据int x; fscanf(file, "%d", &x); // 读取整数
fgets()
从文件读取一行字符串char buffer[100]; fgets(buffer, 100, file); // 读取一行
fputs()
向文件写入字符串fputs("Hello", file); // 写入字符串
示例代码(综合):cpp
[backcolor=rgba(var(--ds-rgba-transparent))]复制




#include <iostream>#include <cmath>#include <cstring>#include <algorithm>#include <vector>#include <ctime>using namespace std;int main() {    // 数学函数    cout << "sqrt(16) = " << sqrt(16) << endl;    cout << "pow(2, 3) = " << pow(2, 3) << endl;    // 字符串函数    const char* str = "Hello";    char dest[10;    strcpy(dest, str);    cout << "Copied string: " << dest << endl;    // 算法函数    vector<int> vec = {3, 1, 2};    sort(vec.begin(), vec.end());    cout << "Sorted vector: ";    for (int i : vec) cout << i << " ";    cout << endl;    // 时间函数    time_t now = time(0);    cout << "Current time: " << ctime(&now);    return 0;}


输出结果:
[backcolor=rgba(var(--ds-rgba-transparent))]复制




sqrt(16) = 4pow(2, 3) = 8Copied string: HelloSorted vector: 1 2 3 Current time: [当前时间]

[size=16.002px]这些函数涵盖了C++中常用的输入输出、数学计算、字符串处理、内存管理、算法和时间操作等功能。

回复

使用道具 举报

QQ|山东智趣岛论坛 ( 鲁ICP备2023024048号 )

GMT+8, 2025-3-1 07:07 , Processed in 0.195714 second(s), 37 queries .

Powered by Discuz! X3.3 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表