C++常用的字符串与内存操作库函数

 

1. 字符串操作库函数(包含在头文件中)

char * strcpy(char * dest, const char * src);
将src所指的字符串拷贝到dest。

char * strcat(char * dest, const char * src);
将src所指的字符串连接到dest的尾部。

char * strchr(const char * star, int c);
寻找字符c在字符串str中第一次出现的位置。如果找到,就反回指向该位置的char*指针;如果str中不包括字符c,就反悔NULL

char * strstr(const char * str, const char * subStr);
寻找子串subStr在str中第一次出现的位置。如果找到,就反悔指向该位置的指针;如果str不包含字符串subStr,则返回NULL

int strcmp(const str1, const str2);
按照字典序比较字符串str1和str2的大小。如果str1小于str2,返回负数;如果str1等于str2返回0;如果str1大于str2,返回正数。

int stricmp(const char * s1, const char * s2);
大小写无关的字符串比较。如果s1小于s2则返回负数;如果s1等于s2,返回0;s1大于s2,返回正数。不同编译器编译出来的程序,执行stricmp的结果可能不同。

int strncmp(const char * s1, const char * s2, int n);
比较s1前n个字符组成的子串和s2前n个字符组成的子串的大小。若长度不足n,则取整个子串作为子串。返回值和strcmp类似。

char * strncpy(char * dest, const char * src, int n);
拷贝src的前n个字符到dest。如果src长度大于或等于n,该函数不会自动往dest中写入‘\0’;若src长度不足n,则拷贝src的全部内容以及结尾的‘\0’到dest。

char * strtok(char * str, const char * delim);
连续调用该函数若干次,可以做到:从str中逐个抽取出被字符串delim中的字符分隔开的若干个子串。

int atoi(char * s);
将字符串s里的内容转换成一个整数型返回。如果字符串s的内容是“1234”,那么函数返回值就是1234。如果s的格式不是一个整数,比如“a12”,那么返回0。

double atof(char * s);
将字符串s中的内容转换成实数返回。比如,“12.34”就会转换成12.34。如果s的格式不是一个实数,则返回0。

char itoa(int value, char * string, int radix);
将整形值valve以radix进制表示法写入string。

 

2. 内存操作库函数(包含在头文件中)

void * memcpy(void * dest, void * src, int n);
将地址src开始的n个字节,拷贝到地址dest,返回值时dest。

void * memset(void * dest, int ch, int n);
将从dest开始的n个字节,都设置成ch,返回值是dest,ch只有最低字节起作用。

 

 

 

参考自:中国大学慕课,程序设计与算法(一) C语言程序设计,北京大学,郭炜

 

 

 

你可能感兴趣的