C风格字符串及常用库函数总结

来源:互联网 发布:趣味百科软件 编辑:程序博客网 时间:2024/06/06 08:48

1、C风格字符串:

我们知道字符串字面值的类型就是字符串常量的数组,即const char类型的数组。

C++从C语言里继承下来的一种通用结构是C风格字符串(C-style character string),而字符串字面值就是该类型的实例。

C风格字符串:以空字符null结束的字符数组。例如:

char ca1[] = {'C', ''+ ,'+'}; //no null, not C-style stringchar ca2[] = {'C', ''+ ,'+', '\0'}; char ca3[] = "C++"; //null terminator added automaticallyconst char * cp = "C++"; //null terminator added automatically
2、C风格字符串常用标准库函数总结:

头文件 #include <cstring>

size_t strlen(const char * str);//功能:计算字符串str的长度。//返回:字符串str的长度,不包括结束符null。注意和sizeof的区别。char * strtok(char * s, const char * delim);//功能:分解字符串为一组子串。s为要分解的字符串,delim为分隔符。//返回:分解出的子串的指针,分解完最后返回nullchar * strstr(const char * str1, const char * str2);//功能:从str1中寻找str2第一次出现的位置(不比较结束符null)//返回:如果存在,则返回str2在str1中首次出现的指针位置,否则,返回null。char * strchr(const char * str, char ch);//功能:查找字符串str中首次出现字符ch的位置。//返回:返回首次出现ch的位置的指针,不存在则返回null。char * strcpy(char * dest, const char * src);//功能:把src所指字符串复制到dest所指的数组中。src和dest所指的内存不能重叠,且dest必须要有足够的空间来容纳src。//返回:指向dest的指针。char * strncpy(char * dest. const char * src, int n);//功能:把由src所指字符串的前n个字节复制到dest所指的数组中。//说明:如果src的前n个字节不含null字符。则结果不会以null字符结束。需手动添加。src和dest所指的内存不能重叠,且dest必须要有足够的空间来容纳src的字符串。//返回:指向dest的指针。char * strcat(char * dest, const char * src);//功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。//返回:指向dest的指针。char * strncat(char * dest, const char * src, size_t n);//功能:附加指定长度的字符串到dest。//返回:指向dest的指针。int strcmp(const char * str1, const char * str2);//功能:比较字符串str1和str2//返回:当s1 < s2,返回值 < 0; 当s1 = s2,返回值 = 0; 当s1 > s2,返回值 > 0; int strncmp(const char * str1, const char * str2, size_t n);//功能:比较str1和str2的前n个字节是否相同。//返回:若str1与str2的前n个字符相同,则返回0;若s1大于s2,则返回大于0的值;若s1 若小于s2,则返回小于0的值。void * memset(void * ptr, int ch, size_t n);//功能:将ptr所指向的某块内存中的前n个字节的内容全部设置为ch指定的ascii码//返回:指向ptr的指针。可用于变量初始化等。//注意:按字节对内存块进行初始化。void * memmove(void * dest, void * src, size_t n);//功能:由src所指内存开始复制n个字节到dest所指的内存区域。//返回:指向dest的指针//说明:src和dest所指内存区域可以重叠,但复制后src内容会被更改。void * memcpy(void * dest, void * src, size_t n);//功能:由src所指内存开始复制n个字节到dest所指的内存区域。//返回:指向dest的指针//说明:src和dest所指内存区域不可以重叠。

下面这篇文章总结的函数比较多:

http://www.jb51.net/article/37410.htm


0 0
原创粉丝点击