1 string.h、cstring(C)

(1)字符串连接函数 strcat、strncat

strcat(char[ ], const char[ ])

strncat(char[ ], const char[ ], int )

char str1[30]="People's Republic of ";
char str2[]="China";
strcat(str1,str2);
cout<<str1<<endl; //People's Republic of China
strncat(str2,"12345",2);
cout<<str2; //China12

(2)字符串复制函数 strcpy、strncpy

strcpy(char[ ], const char[ ])

strncpy(char[ ], const char[ ], int )

char str1[10],str2[10],str3[]="China";
strcpy(str1,str3);
cout<<str1<<endl; //China
strncpy(str2,str3,2);
cout<<str2; //Ch

(3)字符串比较函数 strcmp

strcmp(const char[ ],const char[ ])

strcmp(str1,str2);

1)如果str1=str2, 函数值=0;

2)如果str1>str2, 函数值>0;

3)如果str1<str2, 函数值<0;

(4)字符串长度函数strlen

strlen(const char[ ])

char str[10]="China";
cout<<strlen(str);//5

(5)初始化函数memset

memset(char[ ], int ,int )

char str[30];
memset(str,'a',5);
cout<<str; //aaaaa

(6)字符串分割

char *strtok(char src[], const char *delim)

src为待分解的字符串,delim为分隔符

由于C/C++没有 split() 函数,这里借用 strtok() 函数简单实现一下:

int split(char *src,char *separator,char *dest[]) {
int i=0;
char *p=strtok(src,separator);
while(p!=NULL) {
dest[i++]=p;
p=strtok(NULL,separator);
}
return i;
}

2 cstring、string(C++)

(1)复制、连接、比较运算

string str1,str2,str3;
str1="abc"; //复制,abc
cout<<str1<<endl;
str2=str1+"def"; //连接,abcdef
cout<<str2<<endl;
cout<<(str1>str2)<<endl; //比较,0
cout<<(str1<str2)<<endl; //比较,1
cout<<(str1=="abc"); //比较,1

(2)查找子串函数find、rfind

正向查找

find(string )

find(string ,int )

string s="abcaabcddbc";
cout<<s.find("abc")<<endl; //0
cout<<s.find("bc")<<endl; //1
cout<<s.find("ef")<<endl; //18446744073709551615(即-1)
cout<<s.find("abc",1)<<endl; //4
cout<<s.find("bc",6)<<endl; //9

逆向查找

find(string )

string s="abcaabcddbc";
cout<<s.rfind("abc")<<endl; //4
cout<<s.rfind("bc")<<endl; //9
cout<<s.rfind("ef")<<endl; //18446744073709551615(即-1)

注意:在条件控制语句中,不要将find()的返回值与0或-1作大小比较,而应与-1作等于或不等于比较。

string s="abcaabcddbc";
//正确做法
cout<<(s.find("abc")!=-1)<<endl; //1
cout<<(s.find("abc")==-1)<<endl; //0
cout<<(s.find("ef")==-1)<<endl; //1
cout<<(s.find("ef")!=-1)<<endl; //0
//错误做法
cout<<(s.find("abc")>-1)<<endl; //理论返回1,实际0
cout<<(s.find("ef")<0)<<endl; //理论返回1,实际0

(3)替换子串函数replace

replace(int ,int ,string )

string s="aaabbbccc";
s.replace(3,3,"**");
cout<<s; //aaa**ccc

3 math.h、cmath

(1)int abs(int i) //返回整型参数i的绝对值

(2)double fabs(double x) //返回双精度参数x的绝对值

(3)long labs(long n) //返回长整型参数n的绝对值

(4)double exp(double x) //返回指数函数e^x的值

(5)double pow(double x,double y) //返回x^y的值

(6)double pow10(int p) //返回10^p的值

(7)double log(double x) //返回logex的值

(8)double log10(double x) //返回log10x的值

(9)double sqrt(double x) //返回√x的值

(10)int ceil(double x) //返回不小于x的最小整数

(11)int floor(double x) //返回不大于x的最大整数

4 stdlib.h、cstdlib

(1)void exit(int code) //终止程序执行

(2)void * malloc(long NumBytes) //申请内存

(3)void free(void *ptr) //释放内存

#include<cstdlib>
using namespace std;
int main(){
int *i=(int *)malloc(sizeof(int)); //开辟一个整型数据空间
float *f=(float *)malloc(sizeof(float)*5); //开辟一个长度为5的浮点型数组
free(i); //释放整型数据空间
free(f); //释放浮点型数组空间 i=new int; //开辟一个整型数据空间
f=new float[5]; //开辟一个长度为5的浮点型数组
char *c=new char('a'); //开辟一个字符型数据空间,并赋初值为'a'
c=(char *)new char[4][5]; //开辟一个4x5字符数组
delete i;
delete f;
delete c;
return 0;
}

注意:new、delete、sizeof()都是运算符

(4)void srand(int seed) //随机数生成器种子

(5)int rand(void) //生成0~32768之间的一个随机数

#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main(){
srand(time(NULL));
cout<<rand();
return 0;
}

5 algorithm

(1)排序函数sort

升序:sort(begin, end, less())

降序:sort(begin, end, greater())

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main(){
int i;
int a[]={8,4,1,0,6,3,5,7,9,2};
int b[]={8,4,1,0,6,3,5,7,9,2};
float f[]={8.1,4.1,1.1,0.1,6.1,3.1,5.1,7.1,9.1,2.1};
char c[]="iebagdfhjc";
string s[]={"wan","bi","zhang","ding","li"}; sort(a,a+10); //升序排序(整数)
sort(b,b+10,greater<int>()); //降序排序(整数)
sort(f,f+10); //升序排序(浮点数)
sort(c,c+10); //升序排序(字符)
sort(s,s+5); //升序排序(字符串) for(i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<endl;
for(i=0;i<10;i++)
cout<<b[i]<<" ";
cout<<endl;
for(i=0;i<10;i++)
cout<<f[i]<<" ";
cout<<endl;
for(i=0;i<10;i++)
cout<<c[i]<<" ";
cout<<endl;
for(i=0;i<5;i++)
cout<<s[i]<<" ";
return 0;
}

6 文件操作

(1)stdio.h、cstdio(C)

#include<stdio.h>
int main(){
int i,a[5];
FILE *fp;
fp=fopen("in.txt","r");
for(i=0;i<5;i++){
fscanf(fp,"%d",&a[i]);
}
fclose(fp);
fp=fopen("out.txt","w");
for(i=0;i<5;i++){
fprintf(fp,"%d ",a[i]);
}
fclose(fp);
return 0;
}

(2)fstream(C++)

#include<fstream>
using namespace std;
int main(){
int i,a[5];
ifstream in("in.txt"); //文件输入流
for(i=0;i<5;i++){
in>>a[i];
}
in.close();
ofstream out("out.txt"); //文件输出流
for(i=0;i<5;i++){
out<<a[i]<<" ";
}
out.close();
return 0;
}

​ 声明:本文转自C/C++常用函数汇总

C_C++常用函数汇总的更多相关文章

  1. php常用函数汇总

    php常用函数汇总   字符串截取:           1.substr('要截取的字符串','从第几个字符开始','到第几个字符结束');             * 截取英文或者数字       ...

  2. 非常实用的PHP常用函数汇总

    这篇文章主要介绍了非常实用的PHP常用函数,汇总了加密解密.字符串操作.文件操作.SQL注入等函数的实例与用法说明,在PHP项目开发中非常具有实用价值,需要的朋友可以参考下 本文实例总结了一些在php ...

  3. 【PHP】最详细PHP从入门到精通(三)——PHP中的数组常用函数汇总

     PHP从入门到精通 之PHP中的数组常用函数详解 数组作为PHP中最常用的结构之一,PHP强大的数组函数功能,给数组的相关操作带来了极大的便利.今天给大家介绍的PHP中数组函数,是PHP数组中重要的 ...

  4. 思迈特软件Smartbi:Excel数据分析常用函数汇总!

    多传统行业的数据分析师只要求掌握Excel即可,会SPSS/SAS是加分项.即使在挖掘满街走,Python不如狗的互联网数据分析界,Excel也是不可替代的. Excel是我们工作中经常使用的一种工具 ...

  5. JavaScript之Array常用函数汇总

    [20141121]JavaScript之Array常用功能汇总 *:first-child { margin-top: 0 !important; } body>*:last-child { ...

  6. OpenCV图像处理中常用函数汇总(1)

    //俗话说:好记性不如烂笔头 //用到opencv 中的函数时往往会一时记不起这个函数的具体参数怎么设置,故在此将常用函数做一汇总: Mat srcImage = imread("C:/Us ...

  7. mysql常用函数汇总(分享)

    以下是对mysql中的常用函数进行了汇总介绍.需要的朋友可以过来参考下. 一.数学函数ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x ...

  8. Mysql常用函数汇总-经典实用

    以下是对mysql中的常用函数进行了汇总介绍.需要的朋友可以过来参考下. 一.数学函数ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x ...

  9. Mysql 常用函数(1)- 常用函数汇总

    Mysql常用函数的汇总,可看下面系列文章 Mysql常用函数有哪几类 数值型函数 字符串型函数 日期时间函数 聚合函数 流程控制函数 数值型函数 函数名称 作用 ABS 求绝对值 SQRT 求二次方 ...

  10. TensorFlow 常用函数汇总

    本文介绍了tensorflow的常用函数,源自网上整理. TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源(如 CPU 或 GPU.一般你不需要显式指定使用 CPU ...

随机推荐

  1. sync.WaitGroup

    WaitGropu使用注意 作groutine参数时传指针 type WaitGroup struct { noCopy noCopy // 64-bit value: high 32 bits ar ...

  2. D. Steps to One

    题意 初始有一个空数组\(a\),接下来每次操作会这么做: 在\([1,n]\)中选择一个数,将其拼接在数组\(a\)后. 计算数组\(a\)的\(\gcd\). 如果结果是\(1\),退出. 否则, ...

  3. noi 1.1 4 保留三位的浮点数

    描述 输入一个单精度浮点数,保留3位小数输出这个浮点数. 输入 只有一行,一个单精度浮点数. 输出 也只有一行,输入的单精度浮点数. 样例输入 12.34521 样例输出 12.345 题意 就是输入 ...

  4. 简单a+b

    1 # include <stdio.h> 2 3 /*输入两个整数a和b,计算a+b的和 4 注意此题是多组测试数据 */ 5 6 // 我的解法 7 void main(){ 8 in ...

  5. js 获取指定天数前日期

    getBeforeDate(n) {//传入天数 var n = n; var d = new Date(); var year = d.getFullYear(); var mon = d.getM ...

  6. 2022-07-10 第一小组 张明旭 前端CSS学习记录

    今天是正式学习的第二天,昨天那个作业项目真的难,自己做一会就得问这问那,还有大神带一带(?_?)... 今天学习的内容是前端中的CSS,男上加男..... 知识点: Css层叠式表(网页美化) 1.定 ...

  7. 解决CentOS 7.x虚拟机无法上网的问题

    参考地址:https://blog.csdn.net/weixin_43317914/article/details/124770393 1.关闭虚拟机 2.打开cmd,查看本机dns 3.打开虚拟机 ...

  8. Leetcode61

    !!Given the head of a linked list, rotate the list to the right by k places.!!   # Definition for si ...

  9. JS实现中英文混合文字友好截取功能

    众所周知,一个汉字等于两个英文字母的长度.那么,从汉字或者英文字母中截取相同长度文字则显示的长度则不一样.此时用户体验会不好.那么怎么解决呢?往下看 <script> /** * JS实现 ...

  10. SSD目标检测网络解读(含网络结构和内容解读)

    SSD实现思路 SSD具有如下主要特点: 从YOLO中继承了将detection转化为regression的思路,一次完成目标定位与分类 基于Faster RCNN中的Anchor,提出了相似的Pri ...