私のC/C++の道-009課(文字列の操作&Cシステムのいくつかの文字列の操作関数を書き換えます)

3039 ワード

1时间以上かかって、やっとこれらを书き终わって、贴ってみんなと分かち合って、すべて文字列の操作についてで、分からないで伝言を残して、注釈はすべてとてもはっきりしています
 
#include<stdio.h>
/**
     &  C           
strcpy  strcmp  strcat
*/
void strReplace(char *,char *,int );	//  
char *strCopy(char *,const char *);	    //  
int strCompare(char *,char *);          //  
char *strConcat(char *,char *);         //  
void strConvert(char *);                //  
int strLength(char *);                  //    

//    
void strOperate()
{
	char source[]="China";
	char rep[]="ese";
	//  
	puts("---------replace------------");
	strReplace(source,rep,4);
	puts(source);
	//  
	puts("---------strcpy------------");
	char distStr[10];
	strCopy(distStr,"abcdefg");
	puts(distStr);
	//  
	puts("---------strcmp------------");
	printf("%d
",strCompare("ABCD","ABC")); // puts("---------strlength------------"); printf("%d
",strLength("ABCDe")); // puts("---------strconcat------------"); char sc[30] = "Chinese"; strConcat(sc," FUCK Japanese"); puts(sc); // puts("---------strconvert------------"); char s[] = "I love my homeland"; strConvert(s); puts(s); } // void strReplace(char *soucrStr,char *replaceStr,int pos) { while(pos>0&&*soucrStr!='\0')//pos>1 , { soucrStr++;// pos--; } while(*soucrStr!='\0'&&*replaceStr!='\0') { *soucrStr = *replaceStr;// soucrStr++; replaceStr++; } } // ( , , ) char *strCopy(char *distStr,const char *sourceStr) { char *address = distStr; while((*distStr++=*sourceStr++)!='\0');// //*distStr++ ++, , , return address; } // int strCompare(char *str1,char *str2) { while(*str1&&*str2&&(*str1==*str2)) { str1++; str2++; } return *str1-*str2; } // char *strConcat(char *distStr,char *sourceStr) { char *address = distStr; while(*distStr)// , while(*distStr++), { distStr++; } while((*distStr++=*sourceStr++)!='\0'); return address; } // void strConvert(char *str) { int len = strLength(str); int mid = len/2; char tmp; for(int i=0;i<mid;i++) { tmp = str[i]; str[i] = str[len-i-1]; str[len-i-1] = tmp; } } // int strLength(char *str) { int len = 0; while(*str++) len++; return len; }