C/C++ 常用函数整理

一、<string.h>

1、int  strcmp (const char*, const char*) : 把 str1 所指向的字符串和 str2 所指向的进行比较

s1>s2,return 1;

s1==s2,return 0;

s1<s2,return -1;

但在有的编译器上运行结果是 s1-s2的值,而不仅是以上的三种结果

2、char strcpy(char *restrict dst,const char *restrict src):把src的字符串拷贝到dst ,包括 '\0'

restrict表明src和dst不重叠(C99)

返回dst ·为了能链起代码来

3、char  *strcat(char *restrict s1,const char *restrict s2)把s2拷贝到s1的后面

restrict表明src和dst不重叠(C99)

接成一个长的字符串 ·返回s1

s1必须具有足够的空间

4、char*strncpy(char *restrict dst,const char *restrict src,Size_tn):对应上面的strcpy

可以设置复制的字符串长度,更为安全

5、char*strncat (char *restrict s1,const char *restrict s2,Size—tn):对应上面的strcat,

可以设置拷贝的字符串长度,更为安全

6、int  strncmp(const char *sI,const char *s2,Size—tn):对应上面的strcmp,

可以设置比较的字符串长度,更为安全

7、char  *strchr(const char *s,int c):在字符串中找字符,

从左到右寻找,返回该字符第一次出现的位置(指针)

没有找到则返回NULL

8、char  *strrchr(const char *s,int c):从右往左找,其他同上

问题:怎么寻找第二次出现的位置??

#include<stdio.h>
#include<string.h>

int main()
{
    char *s="hello";
    char *p=strchr(s,'l');
    p=strchr(p+1,'l');   指针指向第二个l的位置
  //  printf("%s\n",p);

    return 0;
}

9、char*strstr(const char *s1,const char *s2):在字符串中找字符串 ,

返回在 s1 中第一次出现 s2  字符串的位置

如果未找到则返回 null

10、charstrcasestr(const char *s1,const char *s2):在字符串中找字符串(同上,但又有不同)

在"子串"与"父串"进行比较的时候,"不区分大小写"

11void  *memset(void *s, int c, unsigned long n):初始化内存的“万能函数”

可以为任何类型的数据进行初始化(如数组)

将指针变量 s 所指向的前 n 字节的内存单元用一个“整数” c 替换

s 是 void* 型的指针变量,所以它可以为任何类型的数据进行初始化

#define N 5

int a[N];

memset(a,0,sizeof(a)); //(这里用sizeof获取数组a所占的内存字节数)

12、char * strtok(char * str, const char * delim):抽取被指定字符分隔的子串 

连续调用该函数若干次,可以做到:

从str中 逐个抽取出 被字符串delim中的字符分隔开的  若干个子串

13、intatoi(char *s):将字符串转换为整数  (在cstdlib中声明)

将字符串s里的内容转换成一个整型数返回。

比如,如果字符串s的内容是“1234”,那 么函数返回值就是1234。

如果s格式不是一个整数,比如是"a12",那么返回0。

14、double atof(char *s): 将字符串转换为实数   (在cstdlib中声明)

将字符串s中的内容转换成实数返回。

比如,"12.34"就会转换成12.34。

如果s的格式 不是一个实数 ,则返回0。

15、char *itoa(int value, char *string, int radix):将整数转换为字符串   (在cstdlib中声明)

将整型值value以radix进制表示法写入 string:

char szValue[20];
itoa( 27,szValue,10); //使得szValue的内容变为 "27"
itoa( 27,szValue,16); //使得szValue的内容变为"1b" 

总结:

1、字符串操作的库函数整理集合

 

二、<math.h>

1、pow(double x,double y):计算以x 为底的 y 次方值,然后将结果返回。

设返回值为 ret,则 ret =x^{^{y}}

函数定义为:double pow(double x, double y)

 

 


版权声明:本文为yaya_12345678原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。