技术心得地

把所有简单的事办好即为不简单

C++博客 首页 新随笔 联系 聚合 管理
  17 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks
1. 字符串

包括零个或多个字符
以 0 即 '\0'字节结尾
字符串长度不包括 NULL
包括在头文件 string.h 中

2. strlen

size_t
strlen( 
char const *string)
{
    
int length;
    
for( length = 0*string++ != '\0'; length++ )
    
return length;
}

注意事项: 返回值为无符号整数. 禁止使用 if( strlen(x) - strlen(y) >= 0 )...

3. 不受限制的字符串函数

使用这些函数时, 程序员必须保证结果字符串不会溢出这块内存

char *strcpy( char *dst, char const *src ); //dst将会被修改, 不能使用字符串常量;         dst, src不能重叠
char *strcat( char *dst, char const *src ); //dst不能为NULL;         dst, src不能重叠
char *strcmp( char const *s1, char const *s2 ); //

4. 长度受限的字符串函数

char *strncpy( char *dst, char const *src, size_t len ); //strlen(src) > len, dst将用NUL填充到len长度, 但 strlen(dst) 不变
char *strncat( char *dst, char const *src, size_t len ); //总是在结果字符串后面添加NUL字节, 但 strlen(dst) 不变
char *strncmp( char const *s1, char const *s2, size_t len ); //

5. 字符串查找

char *strchr( char const *str, int ch ); //查找ch第一次(最左边)出现位置
char *strrchr( char const *str, int ch ); //查找ch最后一次(最右边)出现位置

char *strstr( char const *s1, char const *s2 ); //查找s2第一次出现的位置
char *strtok( char *str, char const *sep ); //原理是将sep用NULL替换

char       *strpbrk( char const *str, char const *group ); //查找 str 中的字符第一次在字符串中出现的位置, 返回指针
size_t strcspn( char const *str, char const *group ); //查找 str 中的字符第一次在字符串中出现的位置, 返回索引
size_t strspn( char const *str, char const *group ); //查找 str 中的字符第一次不在字符串中出现的位置, 返回索引

6. 错误信息

char *strerror( int error_number ); //

7. 字符操作

字符分类:int islower(int ch)
字符转换:int tolower( int ch )

8. 内存操作

字符串数据内部包括 0 时,用下面函数操作

void *memcpy( void *dst, void const *src, size_t length );
void *memmove( void *dst, void const *src, size_t length );
void *memcmp( void *dst, void const *src, size_t length );
void *memchr( void *dst, void const *src, size_t length );
void *memset( void *dst, void const *src, size_t length );

posted on 2010-01-05 01:32 海涛 阅读(172) 评论(0)  编辑 收藏 引用 所属分类: POINTERS ON C

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理