length)
{
if(str->ch[i]>='a' && str->ch[i]<='z')
str->ch[i]-=32;/* Converts to capital */
i++;
}
}
void ToLowerCase(String* str)
{
int i=0;
while(ilength)
{
if(str->ch[i]>='A' && str->ch[i]<='Z')
str->ch[i]+=32;/* Converts to lower case */
i++;
}
}
int StartWith(const String* str,const char* chars)
{
int i=0;
while(*chars!='\0')
{
if(str->ch[i++] != *chars++)
return FALSE;
}
return TRUE;
}
int EndWith(const String* str,const char* chars)
{
int i=str->length-GetCharsLength(chars);
while(*chars!='\0')/* chars not end */
{
if(str->ch[i++] != *chars++)/* Not equal */
return FALSE;
}
return TRUE;
}
int GetCharsLength(const char* chars)
{
int len=0;
while(*chars!='\0')/* Not '\0' */
{
++len;
++chars;
}
return len;
}
int main()
{
String str,sub_str,concat_str;
CreateString(&str,"Yannis");
printf("String: ");
PrintlnString(&str);
printf("String Length: %d\n",StringLength(&str));
printf("String Empty: %d (true:1,false:0)\n",StringEmpty(&str));
printf("Substring from 1 to 4: ");
if(SubString(&str,1,4,&sub_str))
PrintlnString(&sub_str);
printf("\"Yannis\" contains \"anni\": %d\n",Contains(&str,&sub_str));
printf("Index of sub-string \"anni\": %d (brute force method)\n",Index(&str,&sub_str,0));
printf("Concat \"Yannis\" and \"anni\": ");
Concat(&concat_str,&str,&sub_str);
PrintlnString(&concat_str);
printf("Clear concated string: ");
Clear(&concat_str);
PrintlnString(&concat_str);
printf("Compare: \"Yannis\" with \"anni\"(EQ=0,LT<0,MT>0): %d\n",Compare(&str,&sub_str));
printf("Fetch char: %c\n",CharAt(&str,1));
printf("First index of 'n': %d\n",FirstIndexOf(&str,'n'));
printf("Last index of 'n': %d\n",LastIndexOf(&str,'n'));
printf("SetCharAt 5: (old:%c,new:%c): ",SetCharAt(&str,5,'o'),'o');
PrintlnString(&str);
printf("ReplaceFirst: (old:%c,new:%c): ",ReplaceFirst(&str,'w'),'w');
PrintlnString(&str);
printf("ReplaceLast: (old:%c,new:%c): ",ReplaceLast(&str,'s'),'s');
PrintlnString(&str);
printf("ReplaceAll: (old:%c,new:%c),%d characters placed: ",'n','t',ReplaceAll(&str,'n','t'));
PrintlnString(&str);
printf("ToUpperCase: ");
ToUpperCase(&str);
PrintlnString(&str);
printf("ToLowerCase: ");
ToLowerCase(&str);
PrintlnString(&str);
printf("Start with \"wat\": %d\n",StartWith(&str,"wat"));
printf("End with \"is\": %d\n",EndWith(&str,"is"));
return 0;
}