MFC的CString类型有许多缺陷。对一般的应用程序,字符串管理器对象的内存分配方案足以应付,但是,对于大量使用字符串的代码(或多线程代码),默认的内存管理器可能就无法理想地工作。如多线程应用程序的局部CString变量使用不当很容易造成内存泄露。很多时候我们需要用到char*类型。
char* stpcpy(char *dest,const char *src) 将字符串src复制到dest
char* strcat(char *dest,const char *src) 将字符串src添加到dest末尾
char* strchr(const char *s,int c) 检索并返回c在s中第一次出现的位置的指针,没有则返回NULL
int strcmp(const char *s1,const char *s2) 比较字符串s1与s2的大小,并返回s1-s2
char* strcpy(char *dest,const char *src) 将字符串src复制到dest
size_t strcspn(const char *s1,const char *s2) 扫描s1,返回在s1中有,在s2中也有的字符个数
char* strdup(const char *s) 将字符串s复制到最近建立的单元
int stricmp(const char *s1,const char *s2) 比较字符串s1和s2,并返回s1-s2
size_t strlen(const char *s) 返回字符串s的长度
char* strlwr(char *s) 将字符串s中的大写字母全部转换成小写字母,并返回转换后的字符串
char* strncat(char *dest,const char *src,size_t maxlen) 将字符串src中最多maxlen个字符复制到字符串dest中
int strncmp(const char *s1,const char *s2,size_t maxlen) 比较字符串s1与s2中的前maxlen个字符
char* strncpy(char *dest,const char *src,size_t maxlen) 复制src中的前maxlen个字符到dest中
int strnicmp(const char *s1,const char *s2,size_t maxlen) 比较字符串s1与s2中的前maxlen个字符
char* strnset(char *s,int ch,size_t n) 将字符串s的前n个字符置于ch中
char strpbrk(const char *s1,const char *s2) 扫描字符串s1,并返回在s1和s2中均有的字符个数
char* strrchr(const char *s,int c) 扫描最后出现一个给定字符c的一个字符串s
char* strrev(char *s) 将字符串s中的字符全部颠倒顺序重新排列,并返回排列后的字符串
char* strset(char *s,int ch) 将一个字符串s中的所有字符置于一个给定的字符ch
size_t strspn(const char *s1,const char *s2) 扫描字符串s1,并返回在s1和s2中均有的字符个数
char* strstr(const char *s1,const char *s2) 扫描字符串s1,返回指向第一次出现s2位置的指针,如果没找到则返回NULL。
char* strtok(char *s1,const char *s2) 检索字符串s1,该字符串s1是由字符串s2中定义的定界符所分隔
char* strupr(char *s) 将字符串s中的小写字母全部转换成大写字母,并返回转换后的字符串