C语言中几个处理字符串的函数都是以str开头,处理时默认遇到\0
结束操作
这些字符串函数都使用了下面这个头文件:
#include
函数原型
size_t strlen(const char *s)
//s指需要测量的字符串首元素地址
注意,测量时不计入
\0
代码
#include
#include
using namespace std;int main(int argc, char *argv[])
{char a[]="hello";char b[]="he\0llo";cout<
运行结果
函数原型
char* strcpy(char* dest,const char* src);
char* strncpy(char* dest,const char * src,size_t n);
说明
dest:目的空间地址(空间容量注意准备充足)
souce:原字符串首元素地址
strncpy函数优先考虑\0
,接着考虑拷贝字节个数。即如果还没拷贝够n个就遇到\0
则可以结束.
代码1
#include
#include
using namespace std;int main(int argc, char *argv[])
{//size_t strlen(const char *s);char a[128]="";char x[]="";char b[]="hello world";char c[]="hello wor\0ld";cout<
运行结果
代码2
#include
#include
using namespace std;int main(int argc, char *argv[])
{//size_t strlen(const char *s);char a[128]="";char x[]="";char b[]="hello world";char c[]="hello wor\0ld";cout<
运行结果
函数原型
char *strcat(char *dest, const char *src)
说明
把stc追加到dest尾部.
#include
#include
using namespace std;int main(int argc, char *argv[])
{char h[128]="hello ";char w[]="World";cout<
运行结果
函数原型
int strcmp(const char *s1,const char *s2);
int strncmp(const char *s1,const char *s2,size_t n);
说明:
返回值
>0 则s1字符串 >s2 字符串
<0 则s1字符串
参数n则表示最多比较前n个字符
字符串比较的是ASCII码值,如果已确定某字符大于另一个则不会比较后续字符.
代码
#include
#include
using namespace std;int main(int argc, char *argv[])
{char a[128]="";char b[128]="";cout<<"请输入第一个字符串";cin>>a;cout<<"请输入第二个字符串";cin>>b;cout<0){ cout<cout<cout<
运行结果
代码2
#include
#include
using namespace std;int main(int argc, char *argv[])
{char a[128]="";char b[128]="";cout<<"请输入第一个字符串";cin>>a;cout<<"请输入第二个字符串";cin>>b;cout<0){ cout<cout<cout<
运行结果