一、<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):在字符串中找字符串(同上,但又有不同)
在"子串"与"父串"进行比较的时候,"不区分大小写"
11、void *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 =
。
函数定义为:double pow(double x, double y)