花了一个多小时,终于把这些写完了,贴贴出来和大家分享下,都是关于字符串操作的,不懂请留言,注释都很清楚的
- #include<stdio.h>
-
-
-
-
- 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\n",strCompare("ABCD","ABC"));
-
-
- puts("---------strlength------------");
- printf("%d\n",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')
- {
- 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');
-
- 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)
- {
- 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;
- }
|