day04.C++库函数(常用)

目录

一.常用数学函数

#include / #include

二.常用字符串处理函数

#include / #include

2.1常见的内存函数:

(1)memcpy库函数

(2)memcmp库函数

 (3)memset

 2.2字符串常见库函数

(1)strlen

 (2)strcpy

三、其他常用函数

四、实现键盘和文件输入/输出的成员函数


一.常用数学函数

头文件:

#include<math> / #include<math.h>

函数原型

功能

返回值

int         abs(int x)

求整数x的绝对值

绝对值

double acos(double x)

计算arcos(x)的值

计算结果

double asin(double x)

计算arsin(x)的值

计算结果

double atan(double x)

计算arctan(x)的值

计算结果

double cos(double x)

计算cos(x)的值

计算结果

double cosh(double x)

计算x的双曲余弦cosh(x)的值

计算结果

double exp(double x)

e的x次方的值

计算结果

double fabs(double x)

求实数x的绝对值

绝对值

double fmod(double x,double y)

x/y的余数

余数的双精度数

long     labs(long x)

求长整型数的绝对值

绝对值

double log(double x)

计算In(x)的值

计算结果

double log10(double x)

计算log10(x)

计算结果

double modf(double x, double *y)

取x的整数部分送到y所指向的单元格中

x的小树部分

double pow(double x, double y)

 求x的y次幂的值

计算结果

double sin(double x)

计算sin(x)的值

计算结果

double sqrt(double x)

根号下x的值

计算结果

double tan(double x)

计算tan(x)的值

计算结果

fcvt

将浮点型数转化为字符串

二.常用字符串处理函数

头文件

#include<string> / #include<string.h>

函数原型

功能

返回值

void *memcpy

(void *p1, const void *p2 size_t n)

存储器拷贝,

将p2所指向的共n个字节拷贝到p1所指向的存储区中

目的存储区的起始地址

实现任意数据类型之间的拷贝

void *memset

(void *p ,int v, size_t n)

将v的值作为p所指向的区域的

值,n是p所指向区域的大小

该区域的起始地址

int memcmp

( const void * ptr1, const void * ptr2, size_t num );

比较两个内存大小:

1,0,-1

char *strcpy

(char *p1, const char *p2)

将p2所指向的字符串拷贝到

p1所指向的存储区中

目的存储区的起始地址

char *strncpy

(char *p1, const char *p2,int n)

目的存储区的起始地址

char *strcat

(char *p1, const char *p2)

将p2所指向的字符串连接到

p1所指向的字符串后面

目的存储区的起始地址

int strcmp

(const char *p1, const char *p2)

比较p1,p2所指向的两个

字符串的大小

两个字符串相同,返回0;若p1所指向的字符串小于p2所指的字符串,返回负值;否则,返回正值

int strlen(const char *p)

求p所指向的字符串的长度

字符串所包含的字符个数

不包括字符串结束标志’\n’

char *strncpy

(char *p1, const char *p2, size_t n)

将p2所指向的字符串(至多n个字符)拷贝到p1所指向的存储区中

目的存储区的起始地址

(与strcpy()类似)

char *strncat

(char *p1, const char *p2, size_t n)

将p2所指向的字符串(至多n个字符)连接到p1所指向的字符串的后面

目的存储区的起始地址

(与strcpy()类似)

char *strncmp

(const char *p1, const char *p2, size_t n)

比较p1,p2所指向的两个字符串的大小,至多比较n个字符

两个字符串相同,返回0;若p1所指向的字符串小于p2所指的字符串,返回负值;否则,返回正值

(与strcpy()类似)

char *strstr

(const char *p1, const char *p2)

判断p2所指向的字符串是否是p1所指向的字符串的子串

若是子串,返回开始位置的地址;否则返回0。

2.1常见的内存函数:

(1)memcpy库函数

void * memcpy ( void * destination, const void * source, size_t num );
第一个参数p1:

目的地—指向要在其中复制内容的目标数组的指针,类型转换为 void* 类型的指针。
第二个参数p2:

来源地—指向要复制的数据源的指针,类型转换为 const void* 类型的指针。
第三个参数n:

字节数—要复制的字节数。size_t 是无符号整数类型。

各类型字节长度:

byte 1字节 、 short 2字节 、int 4字节 、long 8字节 、float 4字节(精确到7位有效数字) 、 double 8字节 、char 2字节 、boolean 1位

#include<iostream>
using namespace std;

int main(){
    int arr1[]={1,2,3,4,5,6,7};
    int arr2[3]={0};
    memcpy(arr1,arr2,12);
    for(int i=0;i<sizeof(arr1)/sizeof(arr1[0]);i++){
        cout<<arr1[i]<<endl;
    }
    return 0;
}

(2)memcmp库函数

比较两个内存大小:
int memcmp ( const void * ptr1, const void * ptr2, size_t num );

第一个参数p1:指向内存块的指针。
第二个参数p2:指向内存块的指针。
第三个参数n:要比较的字节数。

#include<iostream>
using namespace std;

int main(){
    int p[5]={1,2,3,4,5};
    int arr1[]={1,2,3,4,5,6,7};
    int arr2[3]={1,2,2};
    int arr3[4]={2,2,3,4};
    int n1=memcmp(p,arr1,20);
    int n2=memcmp(p,arr2,12);
    int n3=memcmp(p,arr3,16);
    cout<<n1<<endl<<n2<<endl<<n3<<endl;
    return 0;
}

 (3)memset

填充内容:
void * memset ( void * ptr, int value, size_t num );

第一个参数p1:

指向要填充的内存块的指针。
第二个参数v:

要设置的值。该值作为 int 传递,但该函数使用此值的无符号 char 转换填充内存块。
第三个参数n:

要设置为该值的字节数。size_t 是无符号整数类型。
返回值:返回指针类型

#include<iostream>
using namespace std;

int main()
{
    char str[21] = "nice to meet you";
    //在str字符串后面添加三个感叹号
    memset(str + 16, '!', 5);
    printf("%s\n",str);
    return 0;
}

 2.2字符串常见库函数

(1)strlen

    获取字符串长度,计算‘\0’之前的字符。
    int strlen ( const char * str );
    str:字符串起始地址,会计算该字符串’\0‘之前的字符个数。
    返回值:返回一个无符号数值。

#include<iostream>
using namespace std;

int main()
{
    char str[20] = "nice to meet you";
    int len=strlen(str);
    cout<<len;
    return 0;
}

 (2)strcpy

    复制字符串的功能。
    char * strcpy ( char * destination, const char * source );

    第一个参数p1:目的地,指向要在其中复制内容的目标数组的指针。
    第二个参数p2:来源地,要复制的字符串。
    返回值:返回一个指针

#include<iostream>
using namespace std;

int main()
{
    char str1[] = "nice to";
    char str2[]="meet you";
    strcpy(str1,str2);
    cout<<str1<<endl;
    return 0;
}

三、其他常用函数

头文件#include <stdlib> 或者 #include <stdlib.h>

函数原型

功能

返回值

说明

void abort(void)

终止程序执行

不能结束工作

void exit(int)

终止程序执行

做结束工作

double atof(const char *s)

将s所指向的字符串转换成实数

实数值

int atoi(const char *s)

将s所指向的字符串转换成整数

整数值

long atol(const char *s)

将s所指的字符串转换成长整数

长整数值

int rand(void)

产生一个随机整数

随机整数

void srand(unsigned int)

初始化随机数产生器

int system(const char *s)

将s所指向的字符串作为一个可执行文件,并加以执行

max(a, b)

求两个数中的大数

大数

参数为任意类型

min(a,b)

求两个数中的小数

小数

参数为任意类型

四、实现键盘和文件输入/输出的成员函数

头文件#include <iostream> 或者 #include <iostream.h>

函数原型

功能

返回值

cin >> v

输入值送给变量

cout << exp

输出表达式exp的值

istream & istream::get(char &c)

输入字符送给变量c

istream & istream::get(char *, int , char = ‘\n’)

输入一行字符串

istream & istream::getline(char *, int , char = ‘\n’)

输入一行字符串

void ifstream::open(const char*,int=iOS::in,

int = filebuf::openprot )

打开输入文件

void ofstream::open(const char*,int=ios::out,

int = filebuf::openprot)

打开输出文件

void fsream::open(const char*,int ,

int = filebuf::openprot)

打开输入/输出文件

ifstream::ifstream(const char*,int = ios::in,

int = filebuf::openprot)

构造函数打开输入文件

ofstream::ofstream(const char*,int=ios::out,

int = filebuf::openprot)

构造函数打开输出函数

fstream::fstream(const char*, int,

int = filebuf::openprot)

构造函数打开输入/输出文件

void istream::close()

关闭输入文件

void ofsream::close()

关闭输出文件

void fsream::close()

关闭输入/输出文件

istream & istream::read(char*, int)

从文件中读取数据

ostream & istream::write(const char*,int)

将数据写入文件中

int ios::eof()

判断是否到达打开文件的尾部

1为到达2为没有

istream & istream::seekg(streampos)

移动输入文件的指针

istream & istream::seekg(streamoff,ios::seek_dir)

移动输入文件的指针

streampos istream::tellg()

取输入文件的指针

ostream & ostream::seekp(streampos)

移动输出文件的指针

ostream & ostream::seekp(streamoff,ios::seek_dir)

移动输出文件的指针

streampos ostream::tellp()

取输出文件的指针

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/374713.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Transformer-Hugging Face 06/10】 数据预处理实例

目录 一、说明二、自然语言处理2.1 Pad2.2 截断2.3 构建张量 三、TensorFlow四、处理语音五、计算机视觉六、填充七、Multimodal 一、说明 在数据集上训练模型之前&#xff0c;需要将其预处理为预期的模型输入格式。无论您的数据是文本、图像还是音频&#xff0c;都需要将它们…

Vulnhub靶机:hacksudoAliens

一、介绍 运行环境&#xff1a;Virtualbox 攻击机&#xff1a;kali&#xff08;10.0.2.15&#xff09; 靶机&#xff1a;hacksudoAliens&#xff08;10.0.2.46&#xff09; 目标&#xff1a;获取靶机root权限和flag 靶机下载地址&#xff1a;https://download.vulnhub.com…

Log360,引入全新安全与风险管理功能,助力企业积极抵御网络威胁

ManageEngine在其SIEM解决方案中推出了安全与风险管理新功能&#xff0c;企业现在能够更主动地减轻内部攻击和防范入侵。 SIEM 这项新功能为Log360引入了安全与风险管理仪表板&#xff0c;Log360是ManageEngine的统一安全信息与事件管理&#xff08;SIEM&#xff09;解决方案…

数字图像处理(实践篇)四十六 OpenCV-Python 目标定位(Features2D + Homography)

目录 一 单映射Homography 二 涉及的函数 三 实践 一 单映射Homography 在计算机视觉中,平面的单应性被定义为一个平面到另外一个平面的投影映射。 单映射Homography 就是将一张图像上的点映射到另一张图像上的对应点的3x3变换矩阵。从下图中可以看出&#x

深兰科技陈海波出席CTDC2024第五届首席技术官领袖峰会:“民主化AI”的到来势如破竹

1月26日&#xff0c;CTDC 2024 第五届首席技术官领袖峰会暨出海创新峰会在上海举行。深兰科技创始人、董事长陈海波受邀出席了本届会议&#xff0c;并作为首个演讲嘉宾做了题为“前AGI时代的生产力革命范式”的行业分享。 作为国内顶级前瞻性技术峰会&#xff0c;CTDC首席技术官…

国考省考行测:判断推理,论证逻辑

国考省考行测&#xff1a;判断推理&#xff0c;论证逻辑 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能&#xff0c;附带行测和申论&#xff0c;而常规国考省考最重要的还是申论和行测&#xff0c;所以大家认真准备吧&#xff0c;我讲一起屡屡申论和…

Linux进程信号处理:深入理解与应用(3)

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;its 6pm but I miss u already.—bbbluelee 0:01━━━━━━️&#x1f49f;──────── 3:18 &#x1f504; ◀️…

SQL 表信息 | 统计 | 脚本

介绍 统计多个 SQL Server 实例上多个数据库的表大小、最后修改时间和行数&#xff0c;可以使用以下的 SQL 查询来获取这些信息。 脚本 示例脚本&#xff1a; DECLARE Query NVARCHAR(MAX)-- 创建一个临时表用于存储结果 CREATE TABLE #TableSizes (DatabaseName NVARCHAR…

游泳哪个牌子口碑最好?全球最好的游泳耳机排行榜

在水中畅游时&#xff0c;倾听悠扬的音乐或放松的声音是一种愉悦的体验&#xff0c;而蓝牙游泳耳机的出现更是为游泳者提供了更便利的选择。市场上涌现出多款不同品牌的蓝牙游泳耳机&#xff0c;为了满足游泳爱好者对音乐的需求&#xff0c;小编为大家精心整理了一些值得推荐的…

C++多线程学习[五]:RAII锁

一、什么是RAII 使用局部对象来控制资源的技术&#xff0c;即它的生命周期由操作系统来管理&#xff0c;无需人工的介入。 为什么要采用RAII技术呢&#xff1f; 主要是在开发过程中资源的销毁容易忘记&#xff0c;容易造成死锁或内存泄露。 {}为一个区域 &#xff0c;这里锁的…

JVM 性能调优 - 参数调优(3)

查看 JVM 内存的占用情况 编写代码 package com.test;public class PrintMemoryDemo {public static void main(String[] args) {// 堆内存总量long totalMemory Runtime.getRuntime().totalMemory();// jvm 试图使用的最大堆内存long maxMemory Runtime.getRuntime().maxM…

Matlab使用点云工具箱进行点云配准

一、代码 source_pc pcread(bun_zipper.ply); target_pc pcread(bun_zipper2.ply); % 下采样 gridStep 0.001; ptCloudA pcdownsample(source_pc,gridAverage,gridStep); ptCloudB pcdownsample(target_pc,gridAverage,gridStep); % 初始变换矩阵 tform_initial affine3…

AE2023 After Effects 2023

After Effects 2023是一款非常强大的视频编辑软件&#xff0c;提供了许多新功能和改进&#xff0c;使得视频编辑和合成更加高效和灵活。以下是一些After Effects 2023的特色功能&#xff1a; 新合成预设列表&#xff1a;After Effects 2023彻底修改了预设列表&#xff0c;使其…

Excel——有效性、二级菜单联动

一、录入规范数据 1.手动输入序列录入有效性信息 选择需要录入有效性的所有单元格 选择【数据】——【有效性】——【有效性】 在【允许】输入的值之间选择【序列】 在【序列】输入框中输入想要选择的值&#xff0c;中间用逗号&#xff08;必须是英文逗号&#xff09;隔开 。…

Java入门之JavaSe(韩顺平p1-p?)

学习背景&#xff1a; 本科搞过一段ACM、研究生搞了一篇B会后&#xff0c;本人在研二要学Java找工作啦~~&#xff08;宇宙尽头是Java&#xff1f;&#xff09;爪洼纯小白入门&#xff0c;C只会STL、python只会基础Pytorch、golang参与了一个Web后端项目&#xff0c;可以说项目小…

Linux 网络:PTP 简介

文章目录 1. 前言2. PTP(Precision Time Protocol​) IEEE 1588 协议简介2.1 PTP IEEE 1588 协议时间同步原理2.2 PTP IEEE 1588 协议时钟类型2.2.1 普通时钟(OC: Ordinary Clock)2.2.2 边界时钟(BC: Boundary Clock)2.2.3 透明时钟(TC: Transparent Clock)2.2.3.1 端对端透明时…

挂耳耳机哪个牌子好?推荐几款性价比超高的挂耳耳机

在寻求更轻便舒适的听音体验时&#xff0c;挂耳耳机逐渐成为众多用户的优先选择。市场上各式各样的耳挂耳机琳琅满目&#xff0c;种类繁多&#xff0c;挂耳耳机哪个牌子好&#xff1f;为了帮助大家更好地了解耳挂耳机的市场状况&#xff0c;我推荐几款性价比超高的挂耳耳机。 挂…

MongoDB的分片集群(二) :mongodb4.x分片集群离线搭建开启安全认证

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 相关文章&#xff1a; MongoDB的分片集群(一) : 基础知识 在《MongoDB的分片集群(一) : 基础知识》中梳理了分片集群的基础知识…

知名开发工具RubyMine全新发布v2023.3——支持AI Assistant

RubyMine 是一个为Ruby 和 Rails开发者准备的 IDE&#xff0c;其带有所有开发者必须的功能&#xff0c;并将之紧密集成于便捷的开发环境中。 RubyMine v2023.3正式版下载 新版本改进AI Assistant支持、Rails应用程序和引擎的自定义路径、对Rails 7.1严格locals的代码洞察、RB…

页面模块向上渐变显示效果实现

ps: 先祝各位朋友新春快乐 ^o^/ 想要首页不那么枯燥无味吗&#xff1f;还在未首页过于单调而苦恼吧&#xff0c;来试试这个吧&#xff08;大佬请忽略上述语句o&#xff09; 今天要实现一个页面线上渐变显示的效果&#xff0c;用来丰富首页等页面&#xff1a; 这里先随机建立几…