字符串中的一些基本操作函数(c语言)
其中很多函数返回的都是首地址,程序中只是将该地址后的内容全部输出来了。。。并没有作特殊处理输出地址。。。还有几个函数有点小bug。
#include"iostream" #include"stdio.h" #include"string.h" #define mx 100 using namespace std; int main() { char str1[mx],str2[mx]; cout<<"strcpy字符串拷贝函数:"<<endl; cout<<"输入字符串1:"; cin>>str1; cout<<"输入字符串2:"; cin>>str2; strcpy(str1,str2); cout<<str1<<endl<<endl; cout<<"strncpy字符串部分复制函数:"<<endl; cout<<"输入字符串1:"; cin>>str1; cout<<"输入字符串2:"; cin>>str2; strncpy(str1,str2,2); cout<<str1<<endl<<endl; cout<<"strcat字符串连接:"<<endl; cout<<"输入字符串1:"; cin>>str1; cout<<"输入字符串2:"; cin>>str2; strcat(str1,str2); cout<<str1<<endl<<endl; cout<<"strncat将特定数量的字符串连接到另一个字符串:"<<endl; cout<<"输入字符串1:"; cin>>str1; cout<<"输入字符串2:"; cin>>str2; strncat(str1,str2,2); cout<<str1<<endl<<endl; /* cout<<"_strdup预先配置内存,将字符串存入该内存里:"<<endl; cout<<str1<<endl<<endl; cout<<"输入字符串2:"; cin>>str2; str1=_strdup(str2); cout<<str1<<endl<<endl; */ cout<<"strchr在给定字符串中搜索指定字符:"<<endl; cout<<"输入字符串1:"; cin>>str1; char *p=strchr(str1,'e'); cout<<p[0]<<endl<<endl; /* cout<<"strcspn在给定字符串中搜索某个指定字符第一次出现的位置:"<<endl; cout<<"输入字符串2:"; cin>>str2; int position=strcspn(str2,'r'); cout<<position<<endl<<endl;*/ cout<<"strrchr在给定字符串中搜索某个指定字符最后一次出现的地址:"<<endl; cout<<"输入字符串2:"; cin>>str2; char *lastp=strrchr(str2,'l'); cout<<lastp<<endl<<endl; cout<<"strpbrk在两个字符串中寻找首次共同出现的字符:"<<endl; cout<<"输入字符串1:"; cin>>str1; cout<<"输入字符串2:"; cin>>str2; char *p=strpbrk(str1,str2); cout<<p[0]<<endl<<endl; cout<<"strstr在两个字符串中寻找首次共同出现的公共子字符串:"<<endl; cout<<"输入字符串1:"; cin>>str1; cout<<"输入字符串2:"; cin>>str2; cout<<strstr(str1,str2)<<endl<<endl; cout<<"strlen计算字符串的长度:"<<endl; cout<<"输入字符串2:"; cin>>str2; cout<<strlen(str2)<<endl<<endl; cout<<"_strnset在给定的字符串中按指定数目将若干字符置换为指定字符:"<<endl; cout<<"输入字符串2:";cin>>str2; strnset(str2,5,'$'); cout<<str2<<endl<<endl; cout<<"strcmp比较字符串大小:"<<endl; cout<<"输入字符串1:"; cin>>str1; cout<<"输入字符串2:"; cin>>str2; cout<<strcmp(str1,str2)<<endl; return 0; }