char *strcpy(char *dest,char *src);
功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
src字符串尾的字符串结束标识符'/0'也会被复制过去,复制完成后s1中的内容会被覆盖掉
功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
src字符串尾的字符串结束标识符'/0'也会被复制过去,复制完成后s1中的内容会被覆盖掉
- strlen函数的意思是测试字符串的字符长度,不含字符串结束标志的。
- sizeof是个运算符,它的结果是字符串在内存中的所占字节大小,它要把/0算进去的。
- strcpy函数原型1
- char * strcpy(char *a, const char *b) //注意要声明const
- {
- assert((strDest!=NULL) && (strSrc !=NULL)); //断言两个为空则不用复制,直接中止
- while((*(a++)=*(b++))!=0);
- return a;
- }
- strcpy函数原型2
- char *strcpy(char *strDest, const char *strSrc);//strDest为目标,strSrc为源
- {
- assert((strDest!=NULL) && (strSrc !=NULL)); //如果两个为空则不用复制,直接中止
- char *address = strDest; //用address指向strDest开始地址
- while( (*strDest++ = * strSrc++) != ‘/0’ ) //复制,直到源串结束;
- return address ; //返回strDest开始地址
- }
- 完美的strlen版本:
- int strlen(const char *str)
- {
- assert(str != NULL); //判断字符串非NULL
- int len;
- while((*str++)!= '/0')
- {
- len++;
- }
- return len;
- }