首先需要说明的是:C语言没有string关键字,即没有string类型的变量,string是一个类。但C语言中是有字符串的,有字符串处理库<string.h>.C语言中的字符串是用空字符('\0')结束的字符数组。字符串值用指向字符串中的第一个字符的指针访问的,字符串的值是第一个字符的指针。
字符处理函数库<ctype.h>
包含了判断一个字符是大写字母、小写字母、是一个字母、是一个数字等库函数:
int islower(int c) //如果c是一个小写字母,返回真,否则返回0;
int isupper(int c) //如果c是一个大写字母,返回真,否则返回0;
字符串处理函数库<string.h>
char * strcpy(char* s1,const char* s2) //把字符串s2拷贝到s1中,返回s1的值
char * strncpy(char* s1,const char* s2,size_t n)
char * strcat(char* s1,const char* s2) //把字符串s2追加到数组s1中,s2的第一个字符覆盖掉s1中的终止字符null,返回s1的值。
char * strncat(char* s1,const char* s2,size_t n)
size_t strlen(const char *s), //计算字符串s的长度,返回终止字符NULL前的字符个数。
还有比较函数、查找函数。
还有内存函数:memcpy,memcmp,memchr,memset
void *memcpy(void *s1,const void *s2,size_t n) //把s2所指向的对象中的n个字符拷贝到s1所指向的对象中,返回指向结果的指针
void *memcmp(void *s1,const void *s2,size_t n)
void *memset(void *s1,const int c,size_t n) //把c拷贝到s所指向的前n个字符中,返回指向结果的指针
注意:strcmp和memcpy的区别,strcpy就只能拷贝字符串,它遇到'\0‘就结束拷贝,memcpy由src所指内存区域复制n个字节到dest所指内存区域。
通用实用库库<stdlib.h>
int atoi(const char*nPtr) 把字符串转换为整型
pBuf = new char[m]; //delete释放
等同于 pBuf = (char*)malloc(sizeof(char)*m); //malloc函数也必须包含<stdlib.h>,用free释放