strcat 字符串的嫁接(连接)
#include "stdio.h"
char *strcat(char *str1, char *str2)
{
if((str1==NULL)||(str2==NULL)) throw "Invalide arguments!";
char *pt = str1;
while(*str1!='\0') str1++;
while(*str2!='\0') *str1++ = *str2++;
*str1 = '\0';
return pt;
}
int main()
{
char a[]= "markyuan";
char b[]= "yyyyy";
char *cat = strcat(a,b);
printf("%s\n",cat);
}
strcpy 字符串的拷贝
strcpy(char *str1,str2)
{
char *p1,*p2;
p1=str1;
p2=str2;
while(*p2)
*p1++=*p2++;
return 0; //这里可以改
}
strcmp 字符串的比较
strcmp(char *str1,str2)
{
char *p1,*p2;
p1=str1;
p2=str2;
while(*p2 && *p1)
if(*(p1++)- *(p2++) )return *(p1++)- *(p2++) ;
return 0; //这里可以改
}
strlwr 字符串的大写字母转小写字母
// 字符全部转换为小写
char* _strlwr_d(char* src)
{
while (*src != '\0')
{
if (*src > 'A' && *src <= 'Z'){
//*src += 0x20;
*src += 32;
}
src++;
}
return src;
}
strupr字符串的小写字母转大写字母
// 字符全部转换为大写
char* _strupr_d(char* src)
{
while (*src != '\0')
{
if (*src >= 'a' && *src <= 'z')
//在ASCII表里大写字符的值比对应小写字符的值小32.
//*p -= 0x20; // 0x20的十进制就是32
*src -= 32;
src++;
}
return src;
}
大小写转换的调用
int main()
{
char *p = "Neusoft";
char k[256];
// 字符串全部转成大写
_strupr_d(k);
// 字符串转换成小写
//_strlwr_d(k);
cout << k <<endl;
system("pause");
return 0;
}
库函数调用的应用
#include<stdio.h>
int main()
{
char str1[20] = { "hello" };
char str2[] = { "bit" };
printf("%s", strcat(str1, str2));
system("pause");
return 0;
}
#include<stdio.h>
int main()
{
char str1[20];
char str2[] = { "bit" };
printf("%s", strcpy(str1, str2));
system("pause");
return 0;
}
#include<stdio.h>
int main()
{
char str1[10] = { "hello" };
char str2[10] = { "bit" };
char max[10];
if (strcmp(str1, str2) > 0);
printf("%s",str1 );
if (strcmp(str1, str2) < 0);
strcpy(str2, str1);
printf("%s",str2 );
system("pause");
return 0;
}
#include<stdio.h>
int main()
{
char str[] = { "HELLO" };
printf("%s\n", strlwr(str));
printf("%d", strlen(str));
system("pause");
return 0;
}