1.strcpy(char * s1,char * s2)
将第二个字符串连同终止字符'/0'复制到第一个参数s1中;
2.strncpy(char * s1,char * s2,int n)
将第二个字符串的n个字符复制到第一个参数s1中,如果n<=s2的长度,则不复制'/0',如果n>s2的长度,则复制若干个'/0'直至满足n;
3.strcat(char * s1,char * s2)
将第二个字符串添加到它的第一个参数中,需要保证第一个字符数组足够长,保证能够存储第一个字符串,第二个字符串和终止的'/0';
4.strncat(char * s1,char * s2)
从第二个字符串添加指定的字符数到第一个字符串中,空终止符会被添加到结果中;
以上四个涉及字符串拷贝的函数中,仅有strncpy出现在拷贝过程中不加'/0'的情况,其他都会自动加入;
5.strcmp(char * s1,char * s2)
比较两个字符串,如果s1>s2,则返回正值,s1<s2,则返回负值,如果s1=s2,则返回0
6.strncmp(char * s1,char * s2, int n)
比较n个字符
依次比较s1和s2中每个字符,字符在计算机中表示为小整数,即8位的ASC码,C++中对字符和字符串的操作其实是对相应的数字编码进行操作, 比较字符即是比较字符的整数;
7. strtok(char * s1,const char * s2)
将s1分解为一系列的标记,标记是用一系列分隔符分开的字符;
tokenPtr=strtok(s1," ");
tokenPtr赋值为指向string中第一个标记的指针," "表示string中的标记被空格分开
strtok搜寻string中不是分隔符的第一个字符,这是第一个标记的开头,然后搜索字符串中的下一个分隔符并将其替换空字符'/0',这是当前标记的终点(也就是说标记是一个完整的字符串);
strtok保存当前标记的下一个字符的指针,并且返回当前标记的指针;
连续调用strtok函数可以将一个字符串标记化,非首次调用时第一个参数为NULL,表示调用strtok继续从上次调用strtok保存的位置开始标记化,当没有标记时,strtok函数返回NULL;
string的长度是指该字符串的有效长度,不包括空终止字符